On 11/25/2015 12:39 AM, Dmitry Lifshitz wrote: [...] > diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts > new file mode 100644 > index 0000000..b11d7da > --- /dev/null > +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts [...] > +/ { > + model = "CompuLab CL-SOM-AM57x"; > + compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; > + > + memory { > + device_type = "memory"; > + reg = <0x80000000 0x20000000>; /* 512 MB - minimal configuration */ I think if you like to enable LPAE, the format might look a little different.. > + }; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&leds_pins_default>; > + > + led@0 { > + label = "cl-som-am57x:green"; > + gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + default-state = "off"; > + }; > + }; > +}; > + > +&dra7_pmx_core { > + leds_pins_default: leds_pins_default { > + pinctrl-single,pins = < > + DRA7XX_CORE_IOPAD(0x347c, PIN_OUTPUT | MUX_MODE14) /* gpmc_a15.gpio2_5 */ > + >; > + }; > + > + i2c1_pins_default: i2c1_pins_default { > + pinctrl-single,pins = < > + DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */ > + DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */ > + >; > + }; > + > + tps659038_pins_default: tps659038_pins_default { > + pinctrl-single,pins = < > + DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */ > + >; > + }; Generic comment: As per requirements of the SoC -> all pinctrl must be done in bootloader. this was a recommendation that came in too late for TI platforms that got introduced in upstream, but that cleanup should eventually take place as well. > +}; > + > +&i2c1 { > + status = "okay"; > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c1_pins_default>; > + clock-frequency = <400000>; > + > + tps659038: tps659038@58 { > + compatible = "ti,tps659038"; > + reg = <0x58>; > + interrupt-parent = <&gpio1>; > + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; Also See: https://patchwork.kernel.org/patch/7596541/ -> Documentation/devicetree/bindings/i2c/i2c.txt -> since you seem to have a PMIC with power button, you might be able to get wakeup source also there. > + > + pinctrl-names = "default"; > + pinctrl-0 = <&tps659038_pins_default>; > + > + #interrupt-cells = <2>; > + interrupt-controller; > + > + ti,system-power-controller; Assuming powerhold signal and BOOT0,1 is proper here, else poweroff will never work. > + > + tps659038_pmic { > + compatible = "ti,tps659038-pmic"; > + > + regulators { > + smps12_reg: smps12 { > + /* VDD_MPU */ > + regulator-name = "smps12"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1250000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps3_reg: smps3 { > + /* VDD_DDR */ > + regulator-name = "smps3"; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps45_reg: smps45 { > + /* VDD_DSPEVE */ > + regulator-name = "smps45"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1160000>; 1.25v if you want to support OPP_HIGH. as per latest data sheet. > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps6_reg: smps6 { > + /* VDD_GPU */ > + regulator-name = "smps6"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1160000>; 1.25v if you want to support OPP_HIGH. as per latest data sheet. > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps7_reg: smps7 { > + /* VDD_CORE */ > + regulator-name = "smps7"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1160000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps8_reg: smps8 { > + /* VDD_IVA */ > + regulator-name = "smps8"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1160000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps9_reg: smps9 { > + /* PMIC_3V3 */ > + regulator-name = "smps9"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + > + ldo1_reg: ldo1 { > + /* VDD_SD / VDDSHV8 */ > + regulator-name = "ldo1"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; for eventual UHS mode support, it is recommended to keep VDD_SD separate from VDDSHV8. many of TI evms also suffer from this issue :( > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo2_reg: ldo2 { > + /* VDD_1V8 */ > + regulator-name = "ldo2"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + ldo3_reg: ldo3 { > + /* VDDA_1V8_PHYA */ > + regulator-name = "ldo3"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + ldo4_reg: ldo4 { > + /* VDDA_1V8_PHYB */ > + regulator-name = "ldo4"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; Happy to see this is already split up. you might want to document which PHYs are supplied by PHYA/B in comments for future reference instead of having to dig through schematics to figure that out.. > + > + ldo9_reg: ldo9 { > + /* VDD_RTC */ > + regulator-name = "ldo9"; > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1050000>; > + regulator-always-on; > + regulator-boot-on; as per data sheet: "VD_RTC can optionally be tied to VD_CORE and operate at the VD_CORE AVS voltages." I assume that is not the case here. > + }; > + > + ldoln_reg: ldoln { > + /* VDDA_1V8_PLL */ > + regulator-name = "ldoln"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + ldousb_reg: ldousb { > + /* VDDA_3V_USB: VDDA_USBHS33 */ > + regulator-name = "ldousb"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; All SoC VDDAs must be always-on. [...] -- Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html