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).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWXkVOAAoJEME3ZuaGi4PX1yIP+wR8B2CHEyMjivlP5hhMvyl+
 Brmk2Y0FnY1/vb9lK0myXgMXVS+lpEg5HEZDgvE1jHYour+RcpbNuMudS+ZT5AwF
 K1akZ1IhIKbAyvzp/T5ah9LlaiRib4sjPqJnDIeVq837TmTcCBrFFy5By8GCj3wH
 i/zpx3Am8NTlW6q5BskyB3mzQNydJa8OgSW7gMkzNWrONdKN0uJZD6UTrL9tgci8
 yYfzCmft0JOKsulFZo84KSUgI6TyOazaj5+VQEMqXFAC0IIJ4a1wRauCyaOu+0Qm
 EvWssLKssE3U6N5NQec0npIt3YL6JDKOZJ/erA776tcGDWSZeKlIYn4rxfcv6Ce+
 X6bNfZ5w1JIgUNnRxYJ9eCAAF3Hq/GrUdHjmYH+FPCwUnA1T+O+hfR7HrgxMn6aA
 a9xfptpxmpC0A0MZJbKTV3OnDnOTNbYFtv9CNo1sRT9qrNzuwjo891Mtskf1i44s
 kG/BT4gDAKyUb/skybLumtnSkzYdqWsLZACO9e7I7ylrf2j9maE2ZNID4g88GEd0
 9NzHHk+TB6FHI0/uvnMLvX3ufCHwNgHQoR2NxH0FRsw386qMIUZR0JBCesowVlEb
 B2Yxsx40L1cNHPRyHK+xCFj4IELsguuWVbx21XzE7G/37PENoffvMiHh+xB+O0Sd
 AhxbMaSiUF98ZnPTrVCt
 =MFYu
 -----END PGP SIGNATURE-----

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>
This commit is contained in:
Olof Johansson 2015-12-21 20:52:46 -08:00
commit ea83c68ba8
2 changed files with 288 additions and 1 deletions

View file

@ -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 @@ &adc {
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 @@ &mmc_2 {
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;
};

View file

@ -454,6 +454,13 @@ pmu_system_controller: system-controller@105c0000 {
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>;