nemomobile/kernel-adaptation-n950-n9 — pull request #18 by l4mer (2012-11-28 07:45:43+00:00)
Title: Cmt hsi first aproach - simplest one

Two option possible here:
Simplest one ported here: removed newest HSI kernel framework, adding older one and HSI/SSI client/controller drivers.
Correct patch should be rewrite HSI/SSI client/controller drivers that will use newest HSI kernel framework - someone with more experience should do that.
I don't have time to work with this currently. So, I just push what have been done here. Someone should get this or decide what next ...

Anyway seems after ifconfig phonet0 up most of drivers works. I am not sure if correctly, I don't know this code. Logs I have:

[ 32.343658] ssi_protocol ssi_protocol: Configuring SSI port
[ 32.344635] ssi_protocol ssi_protocol: Issuing BOOT INFO REQ command
[ 32.344787] xxx ssi_pio_complete called
[ 32.348999] xxx ssi_pio_complete called
[ 32.353179] ssi_protocol ssi_protocol: Release cmd 0x10000001
[ 32.353271] xxx ssi_transfer called
[ 32.357208] ssi_protocol ssi_protocol: RX start M(1) R(0)
[ 32.449127] ssi_protocol ssi_protocol: RX start M(1) R(0)
[ 32.511444] ssi_protocol ssi_protocol: Issuing RX command
[ 32.511535] xxx ssi_pio_complete called
[ 32.515594] ssi_protocol ssi_protocol: RX cmd: 0x20000001
[ 32.515686] xxx ssi_transfer called
[ 32.519470] xxx ssi_pio_complete called
[ 32.523529] ssi_protocol ssi_protocol: RX cmd: 0x30000001
[ 32.523559] ssi_protocol ssi_protocol: WAKELINES TEST FAILED
[ 32.529571] ssi_protocol ssi_protocol: Main state: 2
[ 32.534851] ssi_protocol ssi_protocol: Recv state: 0
[ 32.540039] ssi_protocol ssi_protocol: Send state: 0
[ 32.545288] ssi_protocol ssi_protocol: CMT Online
[ 32.550292] ssi_protocol ssi_protocol: Wake test 0
[ 32.555297] ssi_protocol ssi_protocol: Data RX id: 0
[ 32.560546] ssi_protocol ssi_protocol: Data TX id: 0
[ 32.565826] flush queue: ch 0, msg ed311c80 len 4 type 0 ctxt (null)
[ 32.572662] ssi_protocol ssi_protocol: Release cmd 0x30000001
[ 32.572784] xxx ssi_transfer called
[ 33.108306] IPv6: ADDRCONF(NETDEV_UP): phonet0: link is not ready
[ 40.614349] cmt_speech cmt_speech: cs_hsi_start
[ 40.614837] cmt_speech cmt_speech: Issuing RX on control
[ 40.614959] cmt_speech cmt_speech: cs_hsi_start...done

Seems communication works, but WAKELINES TEST FAILED.

Registers from debugfs:
[root@localhost ~]# cd /sys/kernel/debug/ssi0 [root@localhost ssi0]# ls gdd port0 regs [root@localhost ssi0]# cat regs
REVISION : 0x00000010
SYSCONFIG : 0x00002011
SYSSTATUS : 0x00000001
[root@localhost ssi0]# cat port0/regs
CAWAKE : 1
WAKE : 0x00000000
MPU_ENABLE_IRQ0 : 0x01000300
MPU_STATUS_IRQ0 : 0x000000ff

SST
===
ID SST : 0x55555555
MODE : 0x00000002
FRAMESIZE : 0x0000001f
DIVISOR : 0x00000001
CHANNELS : 0x00000004
ARBMODE : 0x00000000
TXSTATE : 0x00000000
BUFSTATE : 0x00000000
BREAK : 0x00000000
BUFFER_CH0 : 0x10000001
BUFFER_CH1 : 0x7ffbcd63
BUFFER_CH2 : 0x65cbc4fe
BUFFER_CH3 : 0xfdcd2b76

SSR
===
ID SSR : 0x55555555
MODE : 0x00000002
FRAMESIZE : 0x0000001f
CHANNELS : 0x00000004
TIMEOUT : 0x00000000
RXSTATE : 0x00000000
BUFSTATE : 0x00000000
BREAK : 0x00000000
ERROR : 0x00000000
ERRORACK : 0xffffffff
BUFFER_CH0 : 0x30000001
BUFFER_CH1 : 0xd97f4e1b
BUFFER_CH2 : 0xd97fcf0d
BUFFER_CH3 : 0xdf4ffe9d
[root@localhost ssi0]# cat port0/sst/divisor
1
[root@localhost ssi0]# cat gdd/regs
GDD_MPU_STATUS : 0x00000000
GDD_MPU_ENABLE : 0x00000000

HW_ID : 0x00000012
PPORT_ID : 0x00000012
MPORT_ID : 0x00000012
TEST : 0x00000000
GCR : 0x00000000

GDD LCH 0
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0x408ea2aa
CDSA : 0x59e40a40
CEN : 0xf138
CSAC : 0xa2aa
CDAC : 0x0000
CLNK_CTRL : 0x0000

GDD LCH 1
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0xc9a38e5b
CDSA : 0x80eb3110
CEN : 0x500b
CSAC : 0x8e5b
CDAC : 0x61f8
CLNK_CTRL : 0x0000

GDD LCH 2
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0xe1c42629
CDSA : 0x116aeaa0
CEN : 0xedc1
CSAC : 0x2629
CDAC : 0x77dc
CLNK_CTRL : 0x0000

GDD LCH 3
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0x81a00a1e
CDSA : 0x90bf108b
CEN : 0xc46a
CSAC : 0x0a1e
CDAC : 0x4987
CLNK_CTRL : 0x0000

GDD LCH 4
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0x41144426
CDSA : 0x9a721008
CEN : 0x4482
CSAC : 0x4426
CDAC : 0x830c
CLNK_CTRL : 0x0000

GDD LCH 5
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0xd365d13d
CDSA : 0x518114c7
CEN : 0x78ac
CSAC : 0xd13d
CDAC : 0xff66
CLNK_CTRL : 0x0000

GDD LCH 6
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0x58f98932
CDSA : 0x309c0a1a
CEN : 0x54b1
CSAC : 0x8932
CDAC : 0x4c8f
CLNK_CTRL : 0x0000

GDD LCH 7
=========
CSDP : 0x0000
CCR : 0x0000
CICR : 0x0001
CSR : 0x0000
CSSA : 0x42a699fc
CDSA : 0x802d8b45
CEN : 0x36c3
CSAC : 0x99fc
CDAC : 0x1a21
CLNK_CTRL : 0x0000
[root@localhost ssi0]#