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]#