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