162306a36Sopenharmony_ciOMAP SSI controller bindings 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciOMAP3's Synchronous Serial Interface (SSI) controller implements a 462306a36Sopenharmony_cilegacy variant of MIPI's High Speed Synchronous Serial Interface (HSI), 562306a36Sopenharmony_ciwhile the controller found inside OMAP4 is supposed to be fully compliant 662306a36Sopenharmony_ciwith the HSI standard. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciRequired properties: 962306a36Sopenharmony_ci- compatible: Should include "ti,omap3-ssi" or "ti,omap4-hsi" 1062306a36Sopenharmony_ci- reg-names: Contains the values "sys" and "gdd" (in this order). 1162306a36Sopenharmony_ci- reg: Contains a matching register specifier for each entry 1262306a36Sopenharmony_ci in reg-names. 1362306a36Sopenharmony_ci- interrupt-names: Contains the value "gdd_mpu". 1462306a36Sopenharmony_ci- interrupts: Contains matching interrupt information for each entry 1562306a36Sopenharmony_ci in interrupt-names. 1662306a36Sopenharmony_ci- ranges: Represents the bus address mapping between the main 1762306a36Sopenharmony_ci controller node and the child nodes below. 1862306a36Sopenharmony_ci- clock-names: Must include the following entries: 1962306a36Sopenharmony_ci "ssi_ssr_fck": The OMAP clock of that name 2062306a36Sopenharmony_ci "ssi_sst_fck": The OMAP clock of that name 2162306a36Sopenharmony_ci "ssi_ick": The OMAP clock of that name 2262306a36Sopenharmony_ci- clocks: Contains a matching clock specifier for each entry in 2362306a36Sopenharmony_ci clock-names. 2462306a36Sopenharmony_ci- #address-cells: Should be set to <1> 2562306a36Sopenharmony_ci- #size-cells: Should be set to <1> 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciEach port is represented as a sub-node of the ti,omap3-ssi device. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciRequired Port sub-node properties: 3062306a36Sopenharmony_ci- compatible: Should be set to the following value 3162306a36Sopenharmony_ci ti,omap3-ssi-port (applicable to OMAP34xx devices) 3262306a36Sopenharmony_ci ti,omap4-hsi-port (applicable to OMAP44xx devices) 3362306a36Sopenharmony_ci- reg-names: Contains the values "tx" and "rx" (in this order). 3462306a36Sopenharmony_ci- reg: Contains a matching register specifier for each entry 3562306a36Sopenharmony_ci in reg-names. 3662306a36Sopenharmony_ci- interrupts: Should contain interrupt specifiers for mpu interrupts 3762306a36Sopenharmony_ci 0 and 1 (in this order). 3862306a36Sopenharmony_ci- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE 3962306a36Sopenharmony_ci events for the port. This is an optional board-specific 4062306a36Sopenharmony_ci property. If it's missing the port will not be 4162306a36Sopenharmony_ci enabled. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciOptional properties: 4462306a36Sopenharmony_ci- ti,hwmods: Shall contain TI interconnect module name if needed 4562306a36Sopenharmony_ci by the SoC 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciExample for Nokia N900: 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_cissi-controller@48058000 { 5062306a36Sopenharmony_ci compatible = "ti,omap3-ssi"; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci /* needed until hwmod is updated to use the compatible string */ 5362306a36Sopenharmony_ci ti,hwmods = "ssi"; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci reg = <0x48058000 0x1000>, 5662306a36Sopenharmony_ci <0x48059000 0x1000>; 5762306a36Sopenharmony_ci reg-names = "sys", 5862306a36Sopenharmony_ci "gdd"; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci interrupts = <55>; 6162306a36Sopenharmony_ci interrupt-names = "gdd_mpu"; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci clocks = <&ssi_ssr_fck>, 6462306a36Sopenharmony_ci <&ssi_sst_fck>, 6562306a36Sopenharmony_ci <&ssi_ick>; 6662306a36Sopenharmony_ci clock-names = "ssi_ssr_fck", 6762306a36Sopenharmony_ci "ssi_sst_fck", 6862306a36Sopenharmony_ci "ssi_ick"; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci #address-cells = <1>; 7162306a36Sopenharmony_ci #size-cells = <1>; 7262306a36Sopenharmony_ci ranges; 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci ssi-port@4805a000 { 7562306a36Sopenharmony_ci compatible = "ti,omap3-ssi-port"; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci reg = <0x4805a000 0x800>, 7862306a36Sopenharmony_ci <0x4805a800 0x800>; 7962306a36Sopenharmony_ci reg-names = "tx", 8062306a36Sopenharmony_ci "rx"; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci interrupt-parent = <&intc>; 8362306a36Sopenharmony_ci interrupts = <67>, 8462306a36Sopenharmony_ci <68>; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */ 8762306a36Sopenharmony_ci } 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci ssi-port@4805a000 { 9062306a36Sopenharmony_ci compatible = "ti,omap3-ssi-port"; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci reg = <0x4805b000 0x800>, 9362306a36Sopenharmony_ci <0x4805b800 0x800>; 9462306a36Sopenharmony_ci reg-names = "tx", 9562306a36Sopenharmony_ci "rx"; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci interrupt-parent = <&intc>; 9862306a36Sopenharmony_ci interrupts = <69>, 9962306a36Sopenharmony_ci <70>; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci } 10262306a36Sopenharmony_ci} 103