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