1dc9df315SSebastian ReichelOMAP SSI controller bindings 2dc9df315SSebastian Reichel 3*8635d6b3STony LindgrenOMAP3's Synchronous Serial Interface (SSI) controller implements a 4*8635d6b3STony Lindgrenlegacy variant of MIPI's High Speed Synchronous Serial Interface (HSI), 5*8635d6b3STony Lindgrenwhile the controller found inside OMAP4 is supposed to be fully compliant 6*8635d6b3STony Lindgrenwith the HSI standard. 7dc9df315SSebastian Reichel 8dc9df315SSebastian ReichelRequired properties: 9*8635d6b3STony Lindgren- compatible: Should include "ti,omap3-ssi" or "ti,omap4-hsi" 10dc9df315SSebastian Reichel- reg-names: Contains the values "sys" and "gdd" (in this order). 11dc9df315SSebastian Reichel- reg: Contains a matching register specifier for each entry 12dc9df315SSebastian Reichel in reg-names. 13dc9df315SSebastian Reichel- interrupt-names: Contains the value "gdd_mpu". 14dc9df315SSebastian Reichel- interrupts: Contains matching interrupt information for each entry 15dc9df315SSebastian Reichel in interrupt-names. 16dc9df315SSebastian Reichel- ranges: Represents the bus address mapping between the main 17dc9df315SSebastian Reichel controller node and the child nodes below. 18dc9df315SSebastian Reichel- clock-names: Must include the following entries: 19dc9df315SSebastian Reichel "ssi_ssr_fck": The OMAP clock of that name 20dc9df315SSebastian Reichel "ssi_sst_fck": The OMAP clock of that name 21dc9df315SSebastian Reichel "ssi_ick": The OMAP clock of that name 22dc9df315SSebastian Reichel- clocks: Contains a matching clock specifier for each entry in 23dc9df315SSebastian Reichel clock-names. 24dc9df315SSebastian Reichel- #address-cells: Should be set to <1> 25dc9df315SSebastian Reichel- #size-cells: Should be set to <1> 26dc9df315SSebastian Reichel 27dc9df315SSebastian ReichelEach port is represented as a sub-node of the ti,omap3-ssi device. 28dc9df315SSebastian Reichel 29dc9df315SSebastian ReichelRequired Port sub-node properties: 30dc9df315SSebastian Reichel- compatible: Should be set to the following value 31dc9df315SSebastian Reichel ti,omap3-ssi-port (applicable to OMAP34xx devices) 32*8635d6b3STony Lindgren ti,omap4-hsi-port (applicable to OMAP44xx devices) 33dc9df315SSebastian Reichel- reg-names: Contains the values "tx" and "rx" (in this order). 34dc9df315SSebastian Reichel- reg: Contains a matching register specifier for each entry 35dc9df315SSebastian Reichel in reg-names. 36dc9df315SSebastian Reichel- interrupt-parent Should be a phandle for the interrupt controller 37dc9df315SSebastian Reichel- interrupts: Should contain interrupt specifiers for mpu interrupts 38dc9df315SSebastian Reichel 0 and 1 (in this order). 39dc9df315SSebastian Reichel- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE 40dc9df315SSebastian Reichel events for the port. This is an optional board-specific 41dc9df315SSebastian Reichel property. If it's missing the port will not be 42dc9df315SSebastian Reichel enabled. 43dc9df315SSebastian Reichel 44*8635d6b3STony LindgrenOptional properties: 45*8635d6b3STony Lindgren- ti,hwmods: Shall contain TI interconnect module name if needed 46*8635d6b3STony Lindgren by the SoC 47*8635d6b3STony Lindgren 48dc9df315SSebastian ReichelExample for Nokia N900: 49dc9df315SSebastian Reichel 50dc9df315SSebastian Reichelssi-controller@48058000 { 51dc9df315SSebastian Reichel compatible = "ti,omap3-ssi"; 52dc9df315SSebastian Reichel 53dc9df315SSebastian Reichel /* needed until hwmod is updated to use the compatible string */ 54dc9df315SSebastian Reichel ti,hwmods = "ssi"; 55dc9df315SSebastian Reichel 56dc9df315SSebastian Reichel reg = <0x48058000 0x1000>, 57dc9df315SSebastian Reichel <0x48059000 0x1000>; 58dc9df315SSebastian Reichel reg-names = "sys", 59dc9df315SSebastian Reichel "gdd"; 60dc9df315SSebastian Reichel 61dc9df315SSebastian Reichel interrupts = <55>; 62dc9df315SSebastian Reichel interrupt-names = "gdd_mpu"; 63dc9df315SSebastian Reichel 64dc9df315SSebastian Reichel clocks = <&ssi_ssr_fck>, 65dc9df315SSebastian Reichel <&ssi_sst_fck>, 66dc9df315SSebastian Reichel <&ssi_ick>; 67dc9df315SSebastian Reichel clock-names = "ssi_ssr_fck", 68dc9df315SSebastian Reichel "ssi_sst_fck", 69dc9df315SSebastian Reichel "ssi_ick"; 70dc9df315SSebastian Reichel 71dc9df315SSebastian Reichel #address-cells = <1>; 72dc9df315SSebastian Reichel #size-cells = <1>; 73dc9df315SSebastian Reichel ranges; 74dc9df315SSebastian Reichel 75dc9df315SSebastian Reichel ssi-port@4805a000 { 76dc9df315SSebastian Reichel compatible = "ti,omap3-ssi-port"; 77dc9df315SSebastian Reichel 78dc9df315SSebastian Reichel reg = <0x4805a000 0x800>, 79dc9df315SSebastian Reichel <0x4805a800 0x800>; 80dc9df315SSebastian Reichel reg-names = "tx", 81dc9df315SSebastian Reichel "rx"; 82dc9df315SSebastian Reichel 83dc9df315SSebastian Reichel interrupt-parent = <&intc>; 84dc9df315SSebastian Reichel interrupts = <67>, 85dc9df315SSebastian Reichel <68>; 86dc9df315SSebastian Reichel 87dc9df315SSebastian Reichel ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */ 88dc9df315SSebastian Reichel } 89dc9df315SSebastian Reichel 90dc9df315SSebastian Reichel ssi-port@4805a000 { 91dc9df315SSebastian Reichel compatible = "ti,omap3-ssi-port"; 92dc9df315SSebastian Reichel 93dc9df315SSebastian Reichel reg = <0x4805b000 0x800>, 94dc9df315SSebastian Reichel <0x4805b800 0x800>; 95dc9df315SSebastian Reichel reg-names = "tx", 96dc9df315SSebastian Reichel "rx"; 97dc9df315SSebastian Reichel 98dc9df315SSebastian Reichel interrupt-parent = <&intc>; 99dc9df315SSebastian Reichel interrupts = <69>, 100dc9df315SSebastian Reichel <70>; 101dc9df315SSebastian Reichel 102dc9df315SSebastian Reichel } 103dc9df315SSebastian Reichel} 104