Message ID | 1448893551-676-1-git-send-email-lifshitz@compulab.co.il (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
* Dmitry Lifshitz <lifshitz@compulab.co.il> [151130 06:27]: > +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts > + 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 = <1250000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + smps6_reg: smps6 { > + /* VDD_GPU */ > + regulator-name = "smps6"; > + regulator-min-microvolt = < 850000>; > + regulator-max-microvolt = <1250000>; > + 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 = <1250000>; > + 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>; > + 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 - supplies VDDA_SATA, VDDA_USB1/2/3 */ > + regulator-name = "ldo3"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + ldo4_reg: ldo4 { > + /* VDDA_1V8_PHYB - supplies VDDA_HDMI, VDDA_PCIE/0/1 */ > + regulator-name = "ldo4"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + ldo9_reg: ldo9 { > + /* VDD_RTC */ > + regulator-name = "ldo9"; > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1050000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + 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-always-on; > + regulator-boot-on; > + }; > + > + /* regen1 not used */ > + }; > + }; Can you please put these into dra7-tps659038-common.dtsi so we don't have multiple copies of it? Then make other boards include that.. That allows to set them up as real controllable regulators instead of all this silly "regulator-always-on" stuff that has been going on since omap4 :) Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Tony, On 11/30/2015 11:54 PM, Tony Lindgren wrote: > * Dmitry Lifshitz <lifshitz@compulab.co.il> [151130 06:27]: >> +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts >> + 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 = <1250000>; >> + regulator-always-on; >> + regulator-boot-on; >> + }; >> + >> + smps6_reg: smps6 { >> + /* VDD_GPU */ >> + regulator-name = "smps6"; >> + regulator-min-microvolt = < 850000>; >> + regulator-max-microvolt = <1250000>; >> + 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 = <1250000>; >> + 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>; >> + 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 - supplies VDDA_SATA, VDDA_USB1/2/3 */ >> + regulator-name = "ldo3"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-always-on; >> + regulator-boot-on; >> + }; >> + >> + ldo4_reg: ldo4 { >> + /* VDDA_1V8_PHYB - supplies VDDA_HDMI, VDDA_PCIE/0/1 */ >> + regulator-name = "ldo4"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-always-on; >> + regulator-boot-on; >> + }; >> + >> + ldo9_reg: ldo9 { >> + /* VDD_RTC */ >> + regulator-name = "ldo9"; >> + regulator-min-microvolt = <1050000>; >> + regulator-max-microvolt = <1050000>; >> + regulator-always-on; >> + regulator-boot-on; >> + }; >> + >> + 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-always-on; >> + regulator-boot-on; >> + }; >> + >> + /* regen1 not used */ >> + }; >> + }; > > Can you please put these into dra7-tps659038-common.dtsi so we don't have > multiple copies of it? Then make other boards include that.. It might looks the same set of regulators for multiple boards, but it is not. Each board may apply its own regulators usage scheme, and this is our case (as compared to am57xx-beagle-x15.dts). For the best of my knowledge, it used to be in a common *.dtsi file (at least in early OMAP5 DT support in TI kernel tree), but then I found that PMIC registration had been moved to the boards DT files. > That allows to set them up as real controllable regulators instead of all > this silly "regulator-always-on" stuff that has been going on since omap4 :) > > Regards, > > Tony > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Regards, Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Dmitry Lifshitz <lifshitz@compulab.co.il> [151201 08:26]: > > It might looks the same set of regulators for multiple boards, > but it is not. Each board may apply its own regulators usage scheme, and > this is our case (as compared to am57xx-beagle-x15.dts). > > For the best of my knowledge, it used to be in a common *.dtsi file (at > least in early OMAP5 DT support in TI kernel tree), but then I found that > PMIC registration had been moved to the boards DT files. Have you actually looked at how much of the implementation is same across the omap5 boards? My guess is that a whole lot is same.. See for example omap5-board-common.dtsi. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/01/2015 10:43 AM, Tony Lindgren wrote: > * Dmitry Lifshitz <lifshitz@compulab.co.il> [151201 08:26]: >> >> It might looks the same set of regulators for multiple boards, >> but it is not. Each board may apply its own regulators usage scheme, and >> this is our case (as compared to am57xx-beagle-x15.dts). >> >> For the best of my knowledge, it used to be in a common *.dtsi file (at >> least in early OMAP5 DT support in TI kernel tree), but then I found that >> PMIC registration had been moved to the boards DT files. > > Have you actually looked at how much of the implementation is same across > the omap5 boards? My guess is that a whole lot is same.. See for example > omap5-board-common.dtsi. Unfortunately with DRA7 / AM57xx: at least 2 different PMICs -> DRA74/DRA72 evms. even across similar PMIC usage, different voltage rail usage accross evms: DRA74evm, x15/GPEVM, AM571x-IDK/AM572x-IDK -> they are not necessarily compatible. Example: some of them have Ganged voltage rail, others dont - few others are mixed. if you are trying to get common regulator usage -> it is kinda pretty hard given the freedom board designers are being given by TI.. OMAP5 was more controlled in terms of what specific configuration the board designers had to follow. that is no longer the case for DRA7/AM57 platforms. just my 2 cents here.
* Nishanth Menon <nm@ti.com> [151201 08:48]: > On 12/01/2015 10:43 AM, Tony Lindgren wrote: > > * Dmitry Lifshitz <lifshitz@compulab.co.il> [151201 08:26]: > >> > >> It might looks the same set of regulators for multiple boards, > >> but it is not. Each board may apply its own regulators usage scheme, and > >> this is our case (as compared to am57xx-beagle-x15.dts). > >> > >> For the best of my knowledge, it used to be in a common *.dtsi file (at > >> least in early OMAP5 DT support in TI kernel tree), but then I found that > >> PMIC registration had been moved to the boards DT files. > > > > Have you actually looked at how much of the implementation is same across > > the omap5 boards? My guess is that a whole lot is same.. See for example > > omap5-board-common.dtsi. > > Unfortunately with DRA7 / AM57xx: > at least 2 different PMICs -> DRA74/DRA72 evms. > even across similar PMIC usage, different voltage rail usage accross > evms: DRA74evm, x15/GPEVM, AM571x-IDK/AM572x-IDK -> they are not > necessarily compatible. > > Example: some of them have Ganged voltage rail, others dont - few others > are mixed. if you are trying to get common regulator usage -> it is > kinda pretty hard given the freedom board designers are being given by > TI.. OMAP5 was more controlled in terms of what specific configuration > the board designers had to follow. that is no longer the case for > DRA7/AM57 platforms. just my 2 cents here. OK thanks for checking. Best to wait a bit on that then until we have more common patterns. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index da84372..dd53c90 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -156,6 +156,9 @@ Boards: - AM437x SK EVM: AM437x StarterKit Evaluation Module compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43" +- AM57XX CL-SOM-AM57x + compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7" + - DRA742 EVM: Software Development Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5492a24..803a020 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -477,8 +477,9 @@ dtb-$(CONFIG_SOC_OMAP5) += \ omap5-sbc-t54.dtb \ omap5-uevm.dtb dtb-$(CONFIG_SOC_DRA7XX) += \ - dra7-evm.dtb \ am57xx-beagle-x15.dtb \ + am57xx-cl-som-am57x.dtb \ + dra7-evm.dtb \ dra72-evm.dtb dtb-$(CONFIG_ARCH_ORION5X) += \ orion5x-lacie-d2-network.dtb \ 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..840eba6 --- /dev/null +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -0,0 +1,260 @@ +/* + * Support for CompuLab CL-SOM-AM57x System-on-Module + * + * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/ + * Author: Dmitry Lifshitz <lifshitz@compulab.co.il> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include "dra74x.dtsi" + +/ { + 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 */ + }; + + 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 */ + >; + }; +}; + +&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>; + + pinctrl-names = "default"; + pinctrl-0 = <&tps659038_pins_default>; + + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller; + + 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 = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + smps6_reg: smps6 { + /* VDD_GPU */ + regulator-name = "smps6"; + regulator-min-microvolt = < 850000>; + regulator-max-microvolt = <1250000>; + 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 = <1250000>; + 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>; + 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 - supplies VDDA_SATA, VDDA_USB1/2/3 */ + regulator-name = "ldo3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo4_reg: ldo4 { + /* VDDA_1V8_PHYB - supplies VDDA_HDMI, VDDA_PCIE/0/1 */ + regulator-name = "ldo4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo9_reg: ldo9 { + /* VDD_RTC */ + regulator-name = "ldo9"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-always-on; + regulator-boot-on; + }; + + 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-always-on; + regulator-boot-on; + }; + + /* regen1 not used */ + }; + }; + + tps659038_pwr_button: tps659038_pwr_button { + compatible = "ti,palmas-pwrbutton"; + interrupt-parent = <&tps659038>; + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + wakeup-source; + ti,palmas-long-press-seconds = <12>; + }; + + tps659038_gpio: tps659038_gpio { + compatible = "ti,palmas-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; + +&cpu0 { + cpu0-supply = <&smps12_reg>; + voltage-tolerance = <1>; +}; + +&sata { + status = "okay"; +}; + +&mailbox5 { + status = "okay"; + mbox_ipu1_ipc3x: mbox_ipu1_ipc3x { + status = "okay"; + }; + mbox_dsp1_ipc3x: mbox_dsp1_ipc3x { + status = "okay"; + }; +}; + +&mailbox6 { + status = "okay"; + mbox_ipu2_ipc3x: mbox_ipu2_ipc3x { + status = "okay"; + }; + mbox_dsp2_ipc3x: mbox_dsp2_ipc3x { + status = "okay"; + }; +};