diff options
author | Olof Johansson <olof@lixom.net> | 2015-12-21 20:52:46 -0800 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2015-12-21 20:52:46 -0800 |
commit | ea83c68ba83155549777e691100a0330d791a765 (patch) | |
tree | 2a9530e59c1a7065813b8f348e801caeea91c33c /arch/arm64/boot | |
parent | e1a0ebc8d82b64440d3ca7eac6a8489937ee2519 (diff) | |
parent | fb026cb6524744c8bd0f133f4b0d8e2595d04e15 (diff) |
Merge tag 'samsung-dt64-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt64
Samsung DeviceTree ARM64 updates and improvements for 4.5:
1. Add S2MPS15 PMIC node to Espresso board. This gives proper
control over regulators, provides 32KHz clocks and RTC driver.
2. Enable HS200 mode operation on Espresso board for MMC0.
3. Add reboot capability (generic syscon-reboot).
* tag 'samsung-dt64-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
arm64: dts: Add reboot node for exynos7
arm64: dts: Enable HS200 mode operation on exynos7-espresso
arm64: dts: Add S2MPS15 PMIC node on exynos7-espresso
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm64/boot')
-rw-r--r-- | arch/arm64/boot/dts/exynos/exynos7-espresso.dts | 282 | ||||
-rw-r--r-- | arch/arm64/boot/dts/exynos/exynos7.dtsi | 7 |
2 files changed, 288 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts index 5424cc450f72..d8767b00862e 100644 --- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts +++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts @@ -11,6 +11,7 @@ /dts-v1/; #include "exynos7.dtsi" +#include <dt-bindings/interrupt-controller/irq.h> / { model = "Samsung Exynos7 Espresso board based on EXYNOS7"; @@ -52,11 +53,288 @@ status = "okay"; }; +&hsi2c_4 { + samsung,i2c-sda-delay = <100>; + samsung,i2c-max-bus-freq = <200000>; + status = "okay"; + + s2mps15_pmic@66 { + compatible = "samsung,s2mps15-pmic"; + reg = <0x66>; + interrupts = <2 IRQ_TYPE_NONE>; + interrupt-parent = <&gpa0>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_irq>; + wakeup-source; + + s2mps15_osc: clocks { + compatible = "samsung,s2mps13-clk"; + #clock-cells = <1>; + clock-output-names = "s2mps13_ap", "s2mps13_cp", + "s2mps13_bt"; + }; + + regulators { + ldo1_reg: LDO1 { + regulator-name = "vdd_ldo1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <900000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo2_reg: LDO2 { + regulator-name = "vqmmc-sdcard"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo3_reg: LDO3 { + regulator-name = "vdd_ldo3"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + regulator-always-on; + regulator-boot-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo4_reg: LDO4 { + regulator-name = "vdd_ldo4"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1110000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo5_reg: LDO5 { + regulator-name = "vdd_ldo5"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo6_reg: LDO6 { + regulator-name = "vdd_ldo6"; + regulator-min-microvolt = <2250000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo7_reg: LDO7 { + regulator-name = "vdd_ldo7"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1150000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo8_reg: LDO8 { + regulator-name = "vdd_ldo8"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1000000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo9_reg: LDO9 { + regulator-name = "vdd_ldo9"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1000000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo10_reg: LDO10 { + regulator-name = "vdd_ldo10"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1000000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo11_reg: LDO11 { + regulator-name = "vdd_ldo11"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo12_reg: LDO12 { + regulator-name = "vdd_ldo12"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1300000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo13_reg: LDO13 { + regulator-name = "vdd_ldo13"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-enable-ramp-delay = <125>; + }; + + ldo14_reg: LDO14 { + regulator-name = "vdd_ldo14"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3375000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo17_reg: LDO17 { + regulator-name = "vmmc-sdcard"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3375000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo18_reg: LDO18 { + regulator-name = "vdd_ldo18"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <2275000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo19_reg: LDO19 { + regulator-name = "vdd_ldo19"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3375000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo21_reg: LDO21 { + regulator-name = "vdd_ldo21"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3375000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo23_reg: LDO23 { + regulator-name = "vdd_ldo23"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <2275000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo25_reg: LDO25 { + regulator-name = "vdd_ldo25"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3375000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo26_reg: LDO26 { + regulator-name = "vdd_ldo26"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1470000>; + regulator-enable-ramp-delay = <125>; + }; + + ldo27_reg: LDO27 { + regulator-name = "vdd_ldo27"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <2275000>; + regulator-enable-ramp-delay = <125>; + }; + + buck1_reg: BUCK1 { + regulator-name = "vdd_mif"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + + buck2_reg: BUCK2 { + regulator-name = "vdd_atlas"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <250>; + }; + + buck4_reg: BUCK4 { + regulator-name = "vdd_int"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <250>; + }; + + buck5_reg: BUCK5 { + regulator-name = "vdd_buck5"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1300000>; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + + buck6_reg: BUCK6 { + regulator-name = "vdd_g3d"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1400000>; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <250>; + }; + + buck7_reg: BUCK7 { + regulator-name = "vdd_buck7"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + + buck8_reg: BUCK8 { + regulator-name = "vdd_buck8"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + + buck9_reg: BUCK9 { + regulator-name = "vdd_buck9"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2100000>; + regulator-always-on; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + + buck10_reg: BUCK10 { + regulator-name = "vdd_buck10"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3000000>; + regulator-always-on; + regulator-ramp-delay = <25000>; + regulator-enable-ramp-delay = <250>; + }; + }; + }; +}; + +&pinctrl_alive { + pmic_irq: pmic-irq { + samsung,pins = "gpa0-2"; + samsung,pin-pud = <3>; + samsung,pin-drv = <3>; + }; +}; + &mmc_0 { status = "okay"; num-slots = <1>; - broken-cd; cap-mmc-highspeed; + mmc-hs200-1_8v; non-removable; card-detect-delay = <200>; clock-frequency = <800000000>; @@ -80,5 +358,7 @@ pinctrl-names = "default"; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; bus-width = <4>; + vmmc-supply = <&ldo17_reg>; + vqmmc-supply = <&ldo2_reg>; disable-wp; }; diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi index f9c5a549c2c0..93108f1a90f9 100644 --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi @@ -454,6 +454,13 @@ reg = <0x105c0000 0x5000>; }; + reboot: syscon-reboot { + compatible = "syscon-reboot"; + regmap = <&pmu_system_controller>; + offset = <0x0400>; + mask = <0x1>; + }; + rtc: rtc@10590000 { compatible = "samsung,s3c6410-rtc"; reg = <0x10590000 0x100>; |