* [PATCH 0/6] Add max77802 support for Peach boards @ 2014-08-19 15:08 Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC Javier Martinez Canillas ` (5 more replies) 0 siblings, 6 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel Hello Kukjin, Mark Brown has already queued for 3.18 the max77802 PMIC regulators driver so now we can add support for these in the Peach Pit and Pi DTS and also merge all the posted patches that depend on this. I've picked all the patches I found and rebased them to be sure that they apply cleanly on top of linux-next. Also I've taken some DT snippets from the downstream Chrome OS 3.8 kernel DTS for devices that use one of the regulators of these regulators has their input supply. The series is composed of the following patches: Javier Martinez Canillas (3): ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards ARM: dts: Add Peach Pit and Pi dts entry for ISL29018 sensor Naveen Krishna Chatradhi (1): ARM: dts: Add thermistor dts fragment used by exynos based Peach boards Rahul Sharma (2): ARM: dts: add hdmi regulators for exynos5800 based peach-pi board ARM: dts: add hdmi regulators for exynos5420 based peach-pit board arch/arm/boot/dts/cros-adc-thermistors.dtsi | 44 ++++ arch/arm/boot/dts/exynos5420-peach-pit.dts | 390 ++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 390 ++++++++++++++++++++++++++++ 3 files changed, 824 insertions(+) create mode 100644 arch/arm/boot/dts/cros-adc-thermistors.dtsi Best regards, Javier ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 2014-08-19 18:52 ` Andreas Färber 2014-08-19 15:08 ` [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board Javier Martinez Canillas ` (4 subsequent siblings) 5 siblings, 1 reply; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel Exynos5420 based Peach Pit and Exynos5800 based Peach Pi boards uses a Maxim 77802 power management IC to drive regulators and its Real Time Clock. This patch adds support for this chip. These are the device nodes and pinctrl configuration that are present on the Peach pit DeviceTree source file in the the Chrome OS kernel 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Tested-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 371 +++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 371 +++++++++++++++++++++++++++++ 2 files changed, 742 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 228a6b1..8619d58 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -144,6 +144,339 @@ ddc = <&i2c_2>; }; +&hsi2c_4 { + status = "okay"; + clock-frequency = <400000>; + + max77802-pmic at 9 { + compatible = "maxim,max77802"; + interrupt-parent = <&gpx3>; + interrupts = <1 0>; + pinctrl-names = "default"; + pinctrl-0 = <&max77802_irq>, <&pmic_selb>, + <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>; + wakeup-source; + reg = <0x9>; + #clock-cells = <1>; + + inb1-supply = <&tps65090_dcdc2>; + inb2-supply = <&tps65090_dcdc1>; + inb3-supply = <&tps65090_dcdc2>; + inb4-supply = <&tps65090_dcdc2>; + inb5-supply = <&tps65090_dcdc1>; + inb6-supply = <&tps65090_dcdc2>; + inb7-supply = <&tps65090_dcdc1>; + inb8-supply = <&tps65090_dcdc1>; + inb9-supply = <&tps65090_dcdc1>; + inb10-supply = <&tps65090_dcdc1>; + + inl1-supply = <&buck5_reg>; + inl2-supply = <&buck7_reg>; + inl3-supply = <&buck9_reg>; + inl4-supply = <&buck9_reg>; + inl5-supply = <&buck9_reg>; + inl6-supply = <&tps65090_dcdc2>; + inl7-supply = <&buck9_reg>; + inl9-supply = <&tps65090_dcdc2>; + inl10-supply = <&buck7_reg>; + + regulators { + buck1_reg: BUCK1 { + regulator-name = "vdd_mif"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck2_reg: BUCK2 { + regulator-name = "vdd_arm"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck3_reg: BUCK3 { + regulator-name = "vdd_int"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck4_reg: BUCK4 { + regulator-name = "vdd_g3d"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck5_reg: BUCK5 { + regulator-name = "vdd_1v2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + }; + + buck6_reg: BUCK6 { + regulator-name = "vdd_kfc"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck7_reg: BUCK7 { + regulator-name = "vdd_1v35"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + buck8_reg: BUCK8 { + regulator-name = "vdd_emmc"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-always-on; + regulator-boot-on; + }; + + buck9_reg: BUCK9 { + regulator-name = "vdd_2v"; + regulator-min-microvolt = <2000000>; + regulator-max-microvolt = <2000000>; + regulator-always-on; + regulator-boot-on; + }; + + buck10_reg: BUCK10 { + regulator-name = "vdd_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo1_reg: LDO1 { + regulator-name = "vdd_1v0"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo2_reg: LDO2 { + regulator-name = "vdd_1v2_2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo3_reg: LDO3 { + regulator-name = "vdd_1v8_3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vqmmc_sdcard: ldo4_reg: LDO4 { + regulator-name = "vdd_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + ldo5_reg: LDO5 { + regulator-name = "vdd_1v8_5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo6_reg: LDO6 { + regulator-name = "vdd_1v8_6"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo7_reg: LDO7 { + regulator-name = "vdd_1v8_7"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo8_reg: LDO8 { + regulator-name = "vdd_ldo8"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo9_reg: LDO9 { + regulator-name = "vdd_ldo9"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo10_reg: LDO10 { + regulator-name = "vdd_ldo10"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo11_reg: LDO11 { + regulator-name = "vdd_ldo11"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo12_reg: LDO12 { + regulator-name = "vdd_ldo12"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-always-on; + }; + + ldo13_reg: LDO13 { + regulator-name = "vdd_ldo13"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo14_reg: LDO14 { + regulator-name = "vdd_ldo14"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo15_reg: LDO15 { + regulator-name = "vdd_ldo15"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo17_reg: LDO17 { + regulator-name = "vdd_g3ds"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + }; + + ldo18_reg: LDO18 { + regulator-name = "ldo_18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo19_reg: LDO19 { + regulator-name = "ldo_19"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo20_reg: LDO20 { + regulator-name = "ldo_20"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo21_reg: LDO21 { + regulator-name = "ldo_21"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo23_reg: LDO23 { + regulator-name = "ldo_23"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + ldo24_reg: LDO24 { + regulator-name = "ldo_24"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo25_reg: LDO25 { + regulator-name = "ldo_25"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + ldo26_reg: LDO26 { + regulator-name = "ldo_26"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo27_reg: LDO27 { + regulator-name = "ldo_27"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo28_reg: LDO28 { + regulator-name = "ldo_28"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo29_reg: LDO29 { + regulator-name = "ldo_29"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo30_reg: LDO30 { + regulator-name = "vdd_mifs"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo32_reg: LDO32 { + regulator-name = "ldo_32"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo33_reg: LDO33 { + regulator-name = "ldo_33"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo34_reg: LDO34 { + regulator-name = "ldo_34"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo35_reg: LDO35 { + regulator-name = "ldo_35"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + inl2-supply = <&buck7_reg>; + }; + }; + }; +}; + &hsi2c_7 { status = "okay"; @@ -277,12 +610,42 @@ samsung,pin-drv = <0>; }; + max77802_irq: max77802-irq { + samsung,pins = "gpx3-1"; + samsung,pin-function = <0>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + hdmi_hpd_irq: hdmi-hpd-irq { samsung,pins = "gpx3-7"; samsung,pin-function = <0>; samsung,pin-pud = <1>; samsung,pin-drv = <0>; }; + + pmic_dvs_1: pmic-dvs-1 { + samsung,pins = "gpy7-6"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; +}; + +&pinctrl_2 { + pmic_dvs_2: pmic-dvs-2 { + samsung,pins = "gpj4-2"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + + pmic_dvs_3: pmic-dvs-3 { + samsung,pins = "gpj4-3"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; }; &pinctrl_3 { @@ -312,6 +675,14 @@ samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; + + pmic_selb: pmic-selb { + samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5", + "gph0-6"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; }; &rtc { diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index f3ee48b..f753eae 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -142,6 +142,339 @@ ddc = <&i2c_2>; }; +&hsi2c_4 { + status = "okay"; + clock-frequency = <400000>; + + max77802-pmic at 9 { + compatible = "maxim,max77802"; + interrupt-parent = <&gpx3>; + interrupts = <1 0>; + pinctrl-names = "default"; + pinctrl-0 = <&max77802_irq>, <&pmic_selb>, + <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>; + wakeup-source; + reg = <0x9>; + #clock-cells = <1>; + + inb1-supply = <&tps65090_dcdc2>; + inb2-supply = <&tps65090_dcdc1>; + inb3-supply = <&tps65090_dcdc2>; + inb4-supply = <&tps65090_dcdc2>; + inb5-supply = <&tps65090_dcdc1>; + inb6-supply = <&tps65090_dcdc2>; + inb7-supply = <&tps65090_dcdc1>; + inb8-supply = <&tps65090_dcdc1>; + inb9-supply = <&tps65090_dcdc1>; + inb10-supply = <&tps65090_dcdc1>; + + inl1-supply = <&buck5_reg>; + inl2-supply = <&buck7_reg>; + inl3-supply = <&buck9_reg>; + inl4-supply = <&buck9_reg>; + inl5-supply = <&buck9_reg>; + inl6-supply = <&tps65090_dcdc2>; + inl7-supply = <&buck9_reg>; + inl9-supply = <&tps65090_dcdc2>; + inl10-supply = <&buck7_reg>; + + regulators { + buck1_reg: BUCK1 { + regulator-name = "vdd_mif"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck2_reg: BUCK2 { + regulator-name = "vdd_arm"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck3_reg: BUCK3 { + regulator-name = "vdd_int"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck4_reg: BUCK4 { + regulator-name = "vdd_g3d"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck5_reg: BUCK5 { + regulator-name = "vdd_1v2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + }; + + buck6_reg: BUCK6 { + regulator-name = "vdd_kfc"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + }; + + buck7_reg: BUCK7 { + regulator-name = "vdd_1v35"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + buck8_reg: BUCK8 { + regulator-name = "vdd_emmc"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-always-on; + regulator-boot-on; + }; + + buck9_reg: BUCK9 { + regulator-name = "vdd_2v"; + regulator-min-microvolt = <2000000>; + regulator-max-microvolt = <2000000>; + regulator-always-on; + regulator-boot-on; + }; + + buck10_reg: BUCK10 { + regulator-name = "vdd_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo1_reg: LDO1 { + regulator-name = "vdd_1v0"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo2_reg: LDO2 { + regulator-name = "vdd_1v2_2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo3_reg: LDO3 { + regulator-name = "vdd_1v8_3"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vqmmc_sdcard: ldo4_reg: LDO4 { + regulator-name = "vdd_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + ldo5_reg: LDO5 { + regulator-name = "vdd_1v8_5"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo6_reg: LDO6 { + regulator-name = "vdd_1v8_6"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo7_reg: LDO7 { + regulator-name = "vdd_1v8_7"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo8_reg: LDO8 { + regulator-name = "vdd_ldo8"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo9_reg: LDO9 { + regulator-name = "vdd_ldo9"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo10_reg: LDO10 { + regulator-name = "vdd_ldo10"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo11_reg: LDO11 { + regulator-name = "vdd_ldo11"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo12_reg: LDO12 { + regulator-name = "vdd_ldo12"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-always-on; + }; + + ldo13_reg: LDO13 { + regulator-name = "vdd_ldo13"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo14_reg: LDO14 { + regulator-name = "vdd_ldo14"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo15_reg: LDO15 { + regulator-name = "vdd_ldo15"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo17_reg: LDO17 { + regulator-name = "vdd_g3ds"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + }; + + ldo18_reg: LDO18 { + regulator-name = "ldo_18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo19_reg: LDO19 { + regulator-name = "ldo_19"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo20_reg: LDO20 { + regulator-name = "ldo_20"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo21_reg: LDO21 { + regulator-name = "ldo_21"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo23_reg: LDO23 { + regulator-name = "ldo_23"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + ldo24_reg: LDO24 { + regulator-name = "ldo_24"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo25_reg: LDO25 { + regulator-name = "ldo_25"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + ldo26_reg: LDO26 { + regulator-name = "ldo_26"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo27_reg: LDO27 { + regulator-name = "ldo_27"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo28_reg: LDO28 { + regulator-name = "ldo_28"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo29_reg: LDO29 { + regulator-name = "ldo_29"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo30_reg: LDO30 { + regulator-name = "vdd_mifs"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + ldo32_reg: LDO32 { + regulator-name = "ldo_32"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo33_reg: LDO33 { + regulator-name = "ldo_33"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo34_reg: LDO34 { + regulator-name = "ldo_34"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo35_reg: LDO35 { + regulator-name = "ldo_35"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + inl2-supply = <&buck7_reg>; + }; + }; + }; +}; + &hsi2c_7 { status = "okay"; @@ -275,12 +608,42 @@ samsung,pin-drv = <0>; }; + max77802_irq: max77802-irq { + samsung,pins = "gpx3-1"; + samsung,pin-function = <0>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + hdmi_hpd_irq: hdmi-hpd-irq { samsung,pins = "gpx3-7"; samsung,pin-function = <0>; samsung,pin-pud = <1>; samsung,pin-drv = <0>; }; + + pmic_dvs_1: pmic-dvs-1 { + samsung,pins = "gpy7-6"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; +}; + +&pinctrl_2 { + pmic_dvs_2: pmic-dvs-2 { + samsung,pins = "gpj4-2"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + + pmic_dvs_3: pmic-dvs-3 { + samsung,pins = "gpj4-3"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; }; &pinctrl_3 { @@ -310,6 +673,14 @@ samsung,pin-pud = <0>; samsung,pin-drv = <0>; }; + + pmic_selb: pmic-selb { + samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5", + "gph0-6"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; }; &rtc { -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC 2014-08-19 15:08 ` [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC Javier Martinez Canillas @ 2014-08-19 18:52 ` Andreas Färber 2014-08-20 10:27 ` Javier Martinez Canillas 0 siblings, 1 reply; 17+ messages in thread From: Andreas Färber @ 2014-08-19 18:52 UTC (permalink / raw) To: linux-arm-kernel Am 19.08.2014 17:08, schrieb Javier Martinez Canillas: > diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts > index 228a6b1..8619d58 100644 > --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts > +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts > @@ -144,6 +144,339 @@ > ddc = <&i2c_2>; > }; > > +&hsi2c_4 { > + status = "okay"; > + clock-frequency = <400000>; > + > + max77802-pmic at 9 { > + compatible = "maxim,max77802"; > + interrupt-parent = <&gpx3>; > + interrupts = <1 0>; <1 IRQ_TYPE_NONE>? [...] > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index f3ee48b..f753eae 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -142,6 +142,339 @@ > ddc = <&i2c_2>; > }; > > +&hsi2c_4 { > + status = "okay"; > + clock-frequency = <400000>; > + > + max77802-pmic at 9 { > + compatible = "maxim,max77802"; > + interrupt-parent = <&gpx3>; > + interrupts = <1 0>; Dito? Cheers, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC 2014-08-19 18:52 ` Andreas Färber @ 2014-08-20 10:27 ` Javier Martinez Canillas 0 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-20 10:27 UTC (permalink / raw) To: linux-arm-kernel Hello Andreas, On 08/19/2014 08:52 PM, Andreas F?rber wrote: >> + >> + max77802-pmic at 9 { >> + compatible = "maxim,max77802"; >> + interrupt-parent = <&gpx3>; >> + interrupts = <1 0>; > > <1 IRQ_TYPE_NONE>? > Indeed, I'll change both on v2. Thanks a lot. > > Cheers, > Andreas > Best regards, Javier ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 2014-09-10 4:44 ` Doug Anderson 2014-08-19 15:08 ` [PATCH 3/6] ARM: dts: add hdmi regulators for exynos5420 based peach-pit board Javier Martinez Canillas ` (3 subsequent siblings) 5 siblings, 1 reply; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel From: Rahul Sharma <rahul.sharma@samsung.com> Adding regulators for HDMI for Peach-pi board. Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- v2: 1) Add blank line before hdmi regulators. arch/arm/boot/dts/exynos5800-peach-pi.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index f753eae..e613827 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -140,6 +140,11 @@ pinctrl-names = "default"; pinctrl-0 = <&hdmi_hpd_irq>; ddc = <&i2c_2>; + + hdmi-en-supply = <&tps65090_fet7>; + vdd-supply = <&ldo8_reg>; + vdd_osc-supply = <&ldo10_reg>; + vdd_pll-supply = <&ldo8_reg>; }; &hsi2c_4 { -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board 2014-08-19 15:08 ` [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board Javier Martinez Canillas @ 2014-09-10 4:44 ` Doug Anderson 2014-09-10 4:45 ` Doug Anderson 0 siblings, 1 reply; 17+ messages in thread From: Doug Anderson @ 2014-09-10 4:44 UTC (permalink / raw) To: linux-arm-kernel Javier / Rahul, On Tue, Aug 19, 2014 at 8:08 AM, Javier Martinez Canillas <javier.martinez@collabora.co.uk> wrote: > From: Rahul Sharma <rahul.sharma@samsung.com> > > Adding regulators for HDMI for Peach-pi board. > > Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> > Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> > Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> > --- > > v2: 1) Add blank line before hdmi regulators. > > arch/arm/boot/dts/exynos5800-peach-pi.dts | 5 +++++ > 1 file changed, 5 insertions(+) Reviewed-by: Doug Anderson <dianders@chromium.org> ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board 2014-09-10 4:44 ` Doug Anderson @ 2014-09-10 4:45 ` Doug Anderson 2014-09-10 9:00 ` Javier Martinez Canillas 0 siblings, 1 reply; 17+ messages in thread From: Doug Anderson @ 2014-09-10 4:45 UTC (permalink / raw) To: linux-arm-kernel Hi, On Tue, Sep 9, 2014 at 9:44 PM, Doug Anderson <dianders@chromium.org> wrote: > Javier / Rahul, > > On Tue, Aug 19, 2014 at 8:08 AM, Javier Martinez Canillas > <javier.martinez@collabora.co.uk> wrote: >> From: Rahul Sharma <rahul.sharma@samsung.com> >> >> Adding regulators for HDMI for Peach-pi board. >> >> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> >> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> >> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> >> --- >> >> v2: 1) Add blank line before hdmi regulators. >> >> arch/arm/boot/dts/exynos5800-peach-pi.dts | 5 +++++ >> 1 file changed, 5 insertions(+) > > Reviewed-by: Doug Anderson <dianders@chromium.org> Meant to add this to the v2. Sorry for the spam... ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board 2014-09-10 4:45 ` Doug Anderson @ 2014-09-10 9:00 ` Javier Martinez Canillas 0 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-09-10 9:00 UTC (permalink / raw) To: linux-arm-kernel Hello Doug, On 09/10/2014 06:45 AM, Doug Anderson wrote: >> >> Reviewed-by: Doug Anderson <dianders@chromium.org> > > Meant to add this to the v2. Sorry for the spam... > No worries, I've to re-spin anyways to fix the issue you pointed on Patch #1 so I'll include your Reviewed-by tag. Best regards, Javier ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 3/6] ARM: dts: add hdmi regulators for exynos5420 based peach-pit board 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 4/6] ARM: dts: Add thermistor dts fragment used by exynos based Peach boards Javier Martinez Canillas ` (2 subsequent siblings) 5 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel From: Rahul Sharma <rahul.sharma@samsung.com> Adding regulators for hdmi for peach-pit board. Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 8619d58..9cf53b1 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -142,6 +142,11 @@ pinctrl-names = "default"; pinctrl-0 = <&hdmi_hpd_irq>; ddc = <&i2c_2>; + + hdmi-en-supply = <&tps65090_fet7>; + vdd-supply = <&ldo8_reg>; + vdd_osc-supply = <&ldo10_reg>; + vdd_pll-supply = <&ldo8_reg>; }; &hsi2c_4 { -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/6] ARM: dts: Add thermistor dts fragment used by exynos based Peach boards 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas ` (2 preceding siblings ...) 2014-08-19 15:08 ` [PATCH 3/6] ARM: dts: add hdmi regulators for exynos5420 based peach-pit board Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 6/6] ARM: dts: Add Peach Pit and Pi dts entry for ISL29018 sensor Javier Martinez Canillas 5 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel From: Naveen Krishna Chatradhi <ch.naveen@samsung.com> This patch creates a thermistor fragment carrying the NTC Thermistor nodes as children of the IIO based ADC. This fragment is included in exynos5420-peach-pit.dts and exynos5800-peach-pi.dts. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- arch/arm/boot/dts/cros-adc-thermistors.dtsi | 44 +++++++++++++++++++++++++++++ arch/arm/boot/dts/exynos5420-peach-pit.dts | 6 ++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 6 ++++ 3 files changed, 56 insertions(+) create mode 100644 arch/arm/boot/dts/cros-adc-thermistors.dtsi diff --git a/arch/arm/boot/dts/cros-adc-thermistors.dtsi b/arch/arm/boot/dts/cros-adc-thermistors.dtsi new file mode 100644 index 0000000..acd4fe1 --- /dev/null +++ b/arch/arm/boot/dts/cros-adc-thermistors.dtsi @@ -0,0 +1,44 @@ +/* + * Thermistor dts fragment for devices that use Thermistors as + * children of the IIO based ADC. + * + * Currently, used by Exynos5420 based Peach PIT and + * Exynos5800 based Peach PI. + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * 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. +*/ + +&adc { + ncp15wb473 at 3 { + compatible = "murata,ncp15wb473"; + pullup-uv = <1800000>; + pullup-ohm = <47000>; + pulldown-ohm = <0>; + io-channels = <&adc 3>; + }; + ncp15wb473 at 4 { + compatible = "murata,ncp15wb473"; + pullup-uv = <1800000>; + pullup-ohm = <47000>; + pulldown-ohm = <0>; + io-channels = <&adc 4>; + }; + ncp15wb473 at 5 { + compatible = "murata,ncp15wb473"; + pullup-uv = <1800000>; + pullup-ohm = <47000>; + pulldown-ohm = <0>; + io-channels = <&adc 5>; + }; + ncp15wb473 at 6 { + compatible = "murata,ncp15wb473"; + pullup-uv = <1800000>; + pullup-ohm = <47000>; + pulldown-ohm = <0>; + io-channels = <&adc 6>; + }; +}; diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 9cf53b1..8e50042 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -102,6 +102,11 @@ }; }; +&adc { + status = "okay"; + vdd-supply = <&ldo9_reg>; +}; + &dp { status = "okay"; pinctrl-names = "default"; @@ -821,3 +826,4 @@ }; #include "cros-ec-keyboard.dtsi" +#include "cros-adc-thermistors.dtsi" diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index e613827..939f91c 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -100,6 +100,11 @@ }; }; +&adc { + status = "okay"; + vdd-supply = <&ldo9_reg>; +}; + &dp { status = "okay"; pinctrl-names = "default"; @@ -819,3 +824,4 @@ }; #include "cros-ec-keyboard.dtsi" +#include "cros-adc-thermistors.dtsi" -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas ` (3 preceding siblings ...) 2014-08-19 15:08 ` [PATCH 4/6] ARM: dts: Add thermistor dts fragment used by exynos based Peach boards Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 2014-08-19 16:26 ` Doug Anderson 2014-08-19 18:37 ` Andreas Färber 2014-08-19 15:08 ` [PATCH 6/6] ARM: dts: Add Peach Pit and Pi dts entry for ISL29018 sensor Javier Martinez Canillas 5 siblings, 2 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel The VCC/VDD and VCCQ/VDD_IO power supplies for the MMC are provided by the tps65090 fet4 and max77802 ldo4 regulators respectively. Add the phandle to the regulators tree nodes for the the dw_mmc device device. These DTS snippets were taken from the downstream ChromeOS 3.8 kernel Device Tree for Peach Pit and Pi boards. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 2 ++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 8e50042..5b9dbb9 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -547,6 +547,8 @@ }; &mmc_2 { + vmmc-supply = <&tps65090_fet4>; + vqmmc-supply = <&vqmmc_sdcard>; status = "okay"; num-slots = <1>; supports-highspeed; diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index 939f91c..dcac443 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -545,6 +545,8 @@ }; &mmc_2 { + vmmc-supply = <&tps65090_fet4>; + vqmmc-supply = <&vqmmc_sdcard>; status = "okay"; num-slots = <1>; supports-highspeed; -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-19 15:08 ` [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards Javier Martinez Canillas @ 2014-08-19 16:26 ` Doug Anderson 2014-08-20 9:49 ` Javier Martinez Canillas 2014-08-19 18:37 ` Andreas Färber 1 sibling, 1 reply; 17+ messages in thread From: Doug Anderson @ 2014-08-19 16:26 UTC (permalink / raw) To: linux-arm-kernel Javier, On Tue, Aug 19, 2014 at 8:08 AM, Javier Martinez Canillas <javier.martinez@collabora.co.uk> wrote: > The VCC/VDD and VCCQ/VDD_IO power supplies for the MMC are > provided by the tps65090 fet4 and max77802 ldo4 regulators > respectively. Add the phandle to the regulators tree nodes > for the the dw_mmc device device. > > These DTS snippets were taken from the downstream ChromeOS > 3.8 kernel Device Tree for Peach Pit and Pi boards. > > Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> > --- > arch/arm/boot/dts/exynos5420-peach-pit.dts | 2 ++ > arch/arm/boot/dts/exynos5800-peach-pi.dts | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts > index 8e50042..5b9dbb9 100644 > --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts > +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts > @@ -547,6 +547,8 @@ > }; > > &mmc_2 { > + vmmc-supply = <&tps65090_fet4>; > + vqmmc-supply = <&vqmmc_sdcard>; > status = "okay"; > num-slots = <1>; > supports-highspeed; > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index 939f91c..dcac443 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -545,6 +545,8 @@ > }; > > &mmc_2 { > + vmmc-supply = <&tps65090_fet4>; > + vqmmc-supply = <&vqmmc_sdcard>; > status = "okay"; > num-slots = <1>; > supports-highspeed; While your change is correct, I have a worry that it will break things if it's merged before some patches that Yuvaraj is working on. Specifically the problem on pit and pi (and any exynos5250 / 5420 / 5800 / ... boards using the built-in "card detect") is that the card detect line is on the same power rail as "vqmmc". That means you can't turn off vqmmc if you still need to be able to detect card insertions. ...but you can't turn off vmmc without turning off vqmmc, otherwise current will leak through the IO lines into the card, which is bad. Right now the SDMMC core will try to turn off power to the card at two times: 1. when the card is ejected 2. when it's trying to reset the card Obviously the first problem is a huge problem on exynos because it means that we won't be able to detect card insertions. ...but we still want to turn the power off from #2. To really fix the problem I think the core needs to be extended to treat the above as two separate cases. Your patch might work at the moment because I think dw_mmc doesn't actually try to turn off these rails with the main SDMMC core asks it to. ...but I still worry about merging them before Yuvaraj's changes are ready. -Doug ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-19 16:26 ` Doug Anderson @ 2014-08-20 9:49 ` Javier Martinez Canillas 0 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-20 9:49 UTC (permalink / raw) To: linux-arm-kernel Hello Doug, On 08/19/2014 06:26 PM, Doug Anderson wrote: > > While your change is correct, I have a worry that it will break things > if it's merged before some patches that Yuvaraj is working on. > > Specifically the problem on pit and pi (and any exynos5250 / 5420 / > 5800 / ... boards using the built-in "card detect") is that the card > detect line is on the same power rail as "vqmmc". That means you > can't turn off vqmmc if you still need to be able to detect card > insertions. > > ...but you can't turn off vmmc without turning off vqmmc, otherwise > current will leak through the IO lines into the card, which is bad. > > > Right now the SDMMC core will try to turn off power to the card at two times: > 1. when the card is ejected > 2. when it's trying to reset the card > > > Obviously the first problem is a huge problem on exynos because it > means that we won't be able to detect card insertions. ...but we > still want to turn the power off from #2. To really fix the problem I > think the core needs to be extended to treat the above as two separate > cases. > Thanks a lot for the explanation, now I remember reading about this on thread "[PATCH 2/3] mmc: dw_mmc: Dont cut off vqmmc and vmmc" [0] but didn't think in the side effect when adding this patch... > > Your patch might work at the moment because I think dw_mmc doesn't > actually try to turn off these rails with the main SDMMC core asks it > to. ...but I still worry about merging them before Yuvaraj's changes > are ready. > Agreed, I'll drop this patch and wait for Yuvaraj's series to land first. Yuvaraj's "UHS support for dw_mmc driver" series that should contain the change you are referring had the issue that when the tps65090 fet4 was used as vmmc-supply, mmc_regulator_get_supply() was failing. I posted a bunch of patches to fix that issue and there were already merged on the relevant trees and shows on linux-next: e1da8cd mmc: core: Use regulator_get_voltage() if OCR mask is empty. a130548 ARM: dts: Improve Peach Pit and Pi power scheme 4f2352c regulator: tps65090: Set voltage for fixed regulators 26988ef regulator: core: Allow to get voltage count and list from parent e303996 regulator: core: Get voltage from parent if not available So hopefully his series have no blockers anymore. > > -Doug > Best regards, Javier [0]: https://www.mail-archive.com/linux-mmc at vger.kernel.org/msg27152.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-19 15:08 ` [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards Javier Martinez Canillas 2014-08-19 16:26 ` Doug Anderson @ 2014-08-19 18:37 ` Andreas Färber 2014-08-20 10:21 ` Javier Martinez Canillas 1 sibling, 1 reply; 17+ messages in thread From: Andreas Färber @ 2014-08-19 18:37 UTC (permalink / raw) To: linux-arm-kernel Hi Javier, Am 19.08.2014 17:08, schrieb Javier Martinez Canillas: > diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts > index 8e50042..5b9dbb9 100644 > --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts > +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts > @@ -547,6 +547,8 @@ > }; > > &mmc_2 { > + vmmc-supply = <&tps65090_fet4>; > + vqmmc-supply = <&vqmmc_sdcard>; > status = "okay"; > num-slots = <1>; > supports-highspeed; > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index 939f91c..dcac443 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -545,6 +545,8 @@ > }; > > &mmc_2 { > + vmmc-supply = <&tps65090_fet4>; > + vqmmc-supply = <&vqmmc_sdcard>; > status = "okay"; > num-slots = <1>; > supports-highspeed; A convention that I picked up was to place overridden status property first. Do your new properties really need to go before that? Also, if you look at today's for-next, then supports-highspeed should be cap-{sd,mmc}-highspeed, so it may be worth to rebase. Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-19 18:37 ` Andreas Färber @ 2014-08-20 10:21 ` Javier Martinez Canillas 2014-08-20 10:36 ` Javier Martinez Canillas 0 siblings, 1 reply; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-20 10:21 UTC (permalink / raw) To: linux-arm-kernel Hello Andreas, Thanks a lot for your feedback. On 08/19/2014 08:37 PM, Andreas F?rber wrote: >> &mmc_2 { >> + vmmc-supply = <&tps65090_fet4>; >> + vqmmc-supply = <&vqmmc_sdcard>; >> status = "okay"; >> num-slots = <1>; >> supports-highspeed; > > A convention that I picked up was to place overridden status property > first. Do your new properties really need to go before that? > OF doesn't care about the order of the child nodes but I do agree that consistency is a good thing so I'll change that on v2. > Also, if you look at today's for-next, then supports-highspeed should be > cap-{sd,mmc}-highspeed, so it may be worth to rebase. > You are right, this patch used to be part of an older series so I didn't realize that "[PATCHv10 3/5] ARM: dts: exynos: unuse the slot-node and deprecate the supports-highspeed for dw-mmc" was already merged. Thanks for the reminder! > Regards, > Andreas > Best regards, Javier ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards 2014-08-20 10:21 ` Javier Martinez Canillas @ 2014-08-20 10:36 ` Javier Martinez Canillas 0 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-20 10:36 UTC (permalink / raw) To: linux-arm-kernel Hello Andreas, On 08/20/2014 12:21 PM, Javier Martinez Canillas wrote: > Hello Andreas, > > Thanks a lot for your feedback. > > On 08/19/2014 08:37 PM, Andreas F?rber wrote: >>> &mmc_2 { >>> + vmmc-supply = <&tps65090_fet4>; >>> + vqmmc-supply = <&vqmmc_sdcard>; >>> status = "okay"; >>> num-slots = <1>; >>> supports-highspeed; >> >> A convention that I picked up was to place overridden status property >> first. Do your new properties really need to go before that? >> > > OF doesn't care about the order of the child nodes but I do agree that > consistency is a good thing so I'll change that on v2. > Actually I meant that I'll change this for a future re-post since I'm completely dropping this patch from the series due Doug's explanation about the CD line and VCCQ/VDD_IO being in the same power rail on Exynos5 SoCs. Sorry for the noise... Best regards, Javier ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 6/6] ARM: dts: Add Peach Pit and Pi dts entry for ISL29018 sensor 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas ` (4 preceding siblings ...) 2014-08-19 15:08 ` [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards Javier Martinez Canillas @ 2014-08-19 15:08 ` Javier Martinez Canillas 5 siblings, 0 replies; 17+ messages in thread From: Javier Martinez Canillas @ 2014-08-19 15:08 UTC (permalink / raw) To: linux-arm-kernel The Exynos5420 based Peach Pit and the Exynos5800 based Peach Pi machines have an i2c ISL29018 light sensor. This patch adds the device nodes needed to support this device. These DTS snippets were taken from the downstream Chrome OS 3.8 kernel Device Tree for Peach Pit and Pi boards. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- arch/arm/boot/dts/exynos5420-peach-pit.dts | 6 ++++++ arch/arm/boot/dts/exynos5800-peach-pi.dts | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 5b9dbb9..b835953 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts @@ -498,6 +498,12 @@ pinctrl-names = "default"; pinctrl-0 = <&max98090_irq>; }; + + light-sensor at 44 { + compatible = "isil,isl29018"; + reg = <0x44>; + vcc-supply = <&tps65090_fet5>; + }; }; &hsi2c_9 { diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index dcac443..c3c51c0 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -496,6 +496,12 @@ pinctrl-names = "default"; pinctrl-0 = <&max98091_irq>; }; + + light-sensor at 44 { + compatible = "isil,isl29018"; + reg = <0x44>; + vcc-supply = <&tps65090_fet5>; + }; }; &hsi2c_9 { -- 2.0.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
end of thread, other threads:[~2014-09-10 9:00 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-19 15:08 [PATCH 0/6] Add max77802 support for Peach boards Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 1/6] ARM: dts: Add Peach Pit and Pi dts entry for max77802 PMIC Javier Martinez Canillas 2014-08-19 18:52 ` Andreas Färber 2014-08-20 10:27 ` Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 2/6] ARM: dts: add hdmi regulators for exynos5800 based peach-pi board Javier Martinez Canillas 2014-09-10 4:44 ` Doug Anderson 2014-09-10 4:45 ` Doug Anderson 2014-09-10 9:00 ` Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 3/6] ARM: dts: add hdmi regulators for exynos5420 based peach-pit board Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 4/6] ARM: dts: Add thermistor dts fragment used by exynos based Peach boards Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 5/6] ARM: dts: Add vmmc and vqmmc supplies for Peach Pit and Pi boards Javier Martinez Canillas 2014-08-19 16:26 ` Doug Anderson 2014-08-20 9:49 ` Javier Martinez Canillas 2014-08-19 18:37 ` Andreas Färber 2014-08-20 10:21 ` Javier Martinez Canillas 2014-08-20 10:36 ` Javier Martinez Canillas 2014-08-19 15:08 ` [PATCH 6/6] ARM: dts: Add Peach Pit and Pi dts entry for ISL29018 sensor Javier Martinez Canillas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).