Message ID | 1472383269-3126-2-git-send-email-ayaka@soulik.info (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On Sun, Aug 28, 2016 at 07:21:06PM +0800, Randy Li wrote: > + s5m8767: s5m8767_pmic@66 { > + compatible = "samsung,s5m8767-pmic"; > + reg = <0x66>; You shouldn't use underscores in node names. https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html
On 08/28/2016 01:21 PM, Randy Li wrote: > The TOPEET itop is a samsung exnynos 4412 core board, which have > two package versions. This patch add the support for SCP version. > > Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and > PMIC. The future features are in the based board. Also MFC and > watchdog have been enabled. > > Signed-off-by: Randy Li <ayaka@soulik.info> > --- > arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 489 ++++++++++++++++++++++++ > 1 file changed, 489 insertions(+) > create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi > > diff --git a/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi > new file mode 100644 > index 0000000..ce5076c > --- /dev/null > +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi > @@ -0,0 +1,489 @@ > +/* > + * TOPEET's Exynos4412 based itop board device tree source > + * > + * Copyright (c) 2016 SUMOMO Computer Association > + * https://www.sumomo.mobi > + * Randy Li <ayaka@soulik.info> > + * > + * Device tree source file for TOPEET iTop Exynos 4412 SCP package core > + * board which is based on Samsung's Exynos4412 SoC. > + * > + * 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. > +*/ > + > +#include "exynos4412.dtsi" > +#include "exynos4412-ppmu-common.dtsi" > +#include "exynos-mfc-reserved-memory.dtsi" > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> First system-wide includes, then local ones. > + > +/ { > + memory { > + reg = <0x40000000 0x40000000>; > + }; > + > + firmware@0203F000 { > + compatible = "samsung,secure-firmware"; > + reg = <0x0203F000 0x1000>; > + }; > + > + fixed-rate-clocks { > + xxti { > + compatible = "samsung,clock-xxti"; > + clock-frequency = <0>; > + }; > + > + xusbxti { > + compatible = "samsung,clock-xusbxti"; > + clock-frequency = <24000000>; > + }; > + > + /* Clock from S5M8767A AP32K */ > + ap32k: xrtcxti { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <32768000>; 1. 32 MHz? Usually it is 32 kHz... Did you test these DTS? 2. Please use existing S5M8767 driver. > + }; > + }; > + > + thermal-zones { > + cpu_thermal: cpu-thermal { > + cooling-maps { > + map0 { > + /* Corresponds to 800MHz at freq_table */ > + cooling-device = <&cpu0 7 7>; > + }; > + map1 { > + /* Corresponds to 200MHz at freq_table */ > + cooling-device = <&cpu0 13 13>; > + }; > + }; > + }; > + }; > + > + usb-hub { > + compatible = "smsc,usb3503a"; Floating USB hub? Isn't it connected to SoC through I2C? > + reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>; > + connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>; > + intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&hsic_reset>; > + }; > +}; > + > +&bus_dmc { > + devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; > + vdd-supply = <&buck1_reg>; > + status = "okay"; > +}; > + > +&bus_acp { > + devfreq = <&bus_dmc>; > + status = "okay"; > +}; > + > +&bus_c2c { > + devfreq = <&bus_dmc>; > + status = "okay"; > +}; > + > +&bus_leftbus { > + devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>; > + vdd-supply = <&buck3_reg>; > + status = "okay"; > +}; > + > +&bus_rightbus { > + devfreq = <&bus_leftbus>; > + status = "okay"; > +}; > + > +&bus_fsys { > + devfreq = <&bus_leftbus>; > + status = "okay"; > +}; > + > +&bus_peri { > + devfreq = <&bus_leftbus>; > + status = "okay"; > +}; > + > +&bus_mfc { > + devfreq = <&bus_leftbus>; > + status = "okay"; > +}; > + > +&cpu0 { > + cpu0-supply = <&buck2_reg>; > +}; > + > +&i2c_1 { > + #address-cells = <1>; > + #size-cells = <0>; > + samsung,i2c-sda-delay = <100>; > + samsung,i2c-max-bus-freq = <400000>; > + pinctrl-0 = <&i2c1_bus>; > + pinctrl-names = "default"; > + status = "okay"; > + > + s5m8767: s5m8767_pmic@66 { > + compatible = "samsung,s5m8767-pmic"; > + reg = <0x66>; > + > + s5m8767,pmic-buck-default-dvs-idx = <3>; > + > + s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>, > + <&gpb 6 GPIO_ACTIVE_HIGH>, > + <&gpb 7 GPIO_ACTIVE_HIGH>; > + > + s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>, > + <&gpm3 6 GPIO_ACTIVE_HIGH>, > + <&gpm3 7 GPIO_ACTIVE_HIGH>; > + > + /* VDD_ARM */ > + s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>, > + <1243750>, <1118750>, > + <1068750>, <1012500>, > + <956250>, <900000>; > + /* VDD_INT */ > + s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>, > + <925000>, <925000>, > + <887500>, <887500>, > + <850000>, <850000>; > + /* VDD_G3D */ > + s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>, > + <1025000>, <950000>, > + <918750>, <900000>, > + <875000>, <831250>; > + > + regulators { > + ldo1_reg: LDO1 { > + regulator-name = "VDD_ALIVE"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + /* SCP uses 1.5v, POP uses 1.2v */ > + ldo2_reg: LDO2 { > + regulator-name = "VDDQ_M12"; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo3_reg: LDO3 { > + regulator-name = "VDDIOAP_18"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo4_reg: LDO4 { > + regulator-name = "VDDQ_PRE"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo6_reg: LDO6 { > + regulator-name = "VDD10_MPLL"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo7_reg: LDO7 { > + regulator-name = "VDD10_XPLL"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo8_reg: LDO8 { > + regulator-name = "VDD10_MIPI"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo9_reg: LDO9 { > + regulator-name = "VDD33_LCD"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo10_reg: LDO10 { > + regulator-name = "VDD18_MIPI"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo11_reg: LDO11 { > + regulator-name = "VDD18_ABB1"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo12_reg: LDO12 { > + regulator-name = "VDD33_UOTG"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo13_reg: LDO13 { > + regulator-name = "VDDIOPERI_18"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo14_reg: LDO14 { > + regulator-name = "VDD18_ABB02"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo15_reg: LDO15 { > + regulator-name = "VDD10_USH"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo16_reg: LDO16 { > + regulator-name = "VDD18_HSIC"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo17_reg: LDO17 { > + regulator-name = "VDDIOAP_MMC012_28"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + /* Used by HSIC */ > + ldo18_reg: LDO18 { > + regulator-name = "VDDIOPERI_28"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo20_reg: LDO20 { > + regulator-name = "VDD28_CAM"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo21_reg: LDO21 { > + regulator-name = "VDD28_AF"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo22_reg: LDO22 { > + regulator-name = "VDDA28_2M"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo23_reg: LDO23 { > + regulator-name = "VDD28_TF"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo24_reg: LDO24 { > + regulator-name = "VDD33_A31"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo25_reg: LDO25 { > + regulator-name = "VDD18_CAM"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo26_reg: LDO26 { > + regulator-name = "VDD18_A31"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo27_reg: LDO27 { > + regulator-name = "GPS_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + ldo28_reg: LDO28 { > + regulator-name = "DVDD12"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck1_reg: BUCK1 { > + regulator-name = "vdd_mif"; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <1100000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck2_reg: BUCK2 { > + regulator-name = "vdd_arm"; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <1456250>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck3_reg: BUCK3 { > + regulator-name = "vdd_int"; > + regulator-min-microvolt = <875000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck4_reg: BUCK4 { > + regulator-name = "vdd_g3d"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck5_reg: BUCK5 { > + regulator-name = "vdd_m12"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck6_reg: BUCK6 { > + regulator-name = "vdd12_5m"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-boot-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck7_reg: BUCK7 { > + regulator-name = "pvdd_buck7"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck8_reg: BUCK8 { > + regulator-name = "pvdd_buck8"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1500000>; > + regulator-boot-on; > + regulator-always-on; > + op_mode = <1>; /* Normal Mode */ > + }; > + > + buck9_reg: BUCK9 { > + regulator-name = "vddf28_emmc"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <3000000>; > + op_mode = <1>; /* Normal Mode */ > + }; > + }; > + }; > +}; > + > +&pinctrl_1 { Please put it in alphabetical order. > + hsic_reset: hsic-reset { > + samsung,pins = "gpm2-4"; > + samsung,pin-function = <1>; > + samsung,pin-pud = <0>; > + samsung,pin-drv = <3>; > + }; > +}; > + > +&mfc { > + status = "okay"; > +}; > + > +&mshc_0 { > + pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; > + pinctrl-names = "default"; > + status = "okay"; > + vmmc-supply = <&buck9_reg>; > + num-slots = <1>; > + broken-cd; > + card-detect-delay = <200>; > + samsung,dw-mshc-ciu-div = <3>; > + samsung,dw-mshc-sdr-timing = <2 3>; > + samsung,dw-mshc-ddr-timing = <1 2>; > + bus-width = <8>; > + cap-mmc-highspeed; > +}; > + > +&hsotg { Please put it in alphabetical order. > + vusb_d-supply = <&ldo15_reg>; > + vusb_a-supply = <&ldo12_reg>; > +}; > + > +&rtc { > + status = "okay"; > + clocks = <&clock CLK_RTC>, <&ap32k>; Use S5M8767/S2MPS bindings for AP clock. > + clock-names = "rtc", "rtc_src"; > +}; > + > +&watchdog { Please put it in alphabetical order. Best regards, Krzysztof > + status = "okay"; > +}; > + > +&tmu { > + vtmu-supply = <&ldo16_reg>; > + status = "okay"; > +}; > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" 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/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi new file mode 100644 index 0000000..ce5076c --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi @@ -0,0 +1,489 @@ +/* + * TOPEET's Exynos4412 based itop board device tree source + * + * Copyright (c) 2016 SUMOMO Computer Association + * https://www.sumomo.mobi + * Randy Li <ayaka@soulik.info> + * + * Device tree source file for TOPEET iTop Exynos 4412 SCP package core + * board which is based on Samsung's Exynos4412 SoC. + * + * 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. +*/ + +#include "exynos4412.dtsi" +#include "exynos4412-ppmu-common.dtsi" +#include "exynos-mfc-reserved-memory.dtsi" +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + memory { + reg = <0x40000000 0x40000000>; + }; + + firmware@0203F000 { + compatible = "samsung,secure-firmware"; + reg = <0x0203F000 0x1000>; + }; + + fixed-rate-clocks { + xxti { + compatible = "samsung,clock-xxti"; + clock-frequency = <0>; + }; + + xusbxti { + compatible = "samsung,clock-xusbxti"; + clock-frequency = <24000000>; + }; + + /* Clock from S5M8767A AP32K */ + ap32k: xrtcxti { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768000>; + }; + }; + + thermal-zones { + cpu_thermal: cpu-thermal { + cooling-maps { + map0 { + /* Corresponds to 800MHz at freq_table */ + cooling-device = <&cpu0 7 7>; + }; + map1 { + /* Corresponds to 200MHz at freq_table */ + cooling-device = <&cpu0 13 13>; + }; + }; + }; + }; + + usb-hub { + compatible = "smsc,usb3503a"; + reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>; + connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>; + intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&hsic_reset>; + }; +}; + +&bus_dmc { + devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; + vdd-supply = <&buck1_reg>; + status = "okay"; +}; + +&bus_acp { + devfreq = <&bus_dmc>; + status = "okay"; +}; + +&bus_c2c { + devfreq = <&bus_dmc>; + status = "okay"; +}; + +&bus_leftbus { + devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>; + vdd-supply = <&buck3_reg>; + status = "okay"; +}; + +&bus_rightbus { + devfreq = <&bus_leftbus>; + status = "okay"; +}; + +&bus_fsys { + devfreq = <&bus_leftbus>; + status = "okay"; +}; + +&bus_peri { + devfreq = <&bus_leftbus>; + status = "okay"; +}; + +&bus_mfc { + devfreq = <&bus_leftbus>; + status = "okay"; +}; + +&cpu0 { + cpu0-supply = <&buck2_reg>; +}; + +&i2c_1 { + #address-cells = <1>; + #size-cells = <0>; + samsung,i2c-sda-delay = <100>; + samsung,i2c-max-bus-freq = <400000>; + pinctrl-0 = <&i2c1_bus>; + pinctrl-names = "default"; + status = "okay"; + + s5m8767: s5m8767_pmic@66 { + compatible = "samsung,s5m8767-pmic"; + reg = <0x66>; + + s5m8767,pmic-buck-default-dvs-idx = <3>; + + s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>, + <&gpb 6 GPIO_ACTIVE_HIGH>, + <&gpb 7 GPIO_ACTIVE_HIGH>; + + s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>, + <&gpm3 6 GPIO_ACTIVE_HIGH>, + <&gpm3 7 GPIO_ACTIVE_HIGH>; + + /* VDD_ARM */ + s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>, + <1243750>, <1118750>, + <1068750>, <1012500>, + <956250>, <900000>; + /* VDD_INT */ + s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>, + <925000>, <925000>, + <887500>, <887500>, + <850000>, <850000>; + /* VDD_G3D */ + s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>, + <1025000>, <950000>, + <918750>, <900000>, + <875000>, <831250>; + + regulators { + ldo1_reg: LDO1 { + regulator-name = "VDD_ALIVE"; + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + /* SCP uses 1.5v, POP uses 1.2v */ + ldo2_reg: LDO2 { + regulator-name = "VDDQ_M12"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo3_reg: LDO3 { + regulator-name = "VDDIOAP_18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo4_reg: LDO4 { + regulator-name = "VDDQ_PRE"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo6_reg: LDO6 { + regulator-name = "VDD10_MPLL"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo7_reg: LDO7 { + regulator-name = "VDD10_XPLL"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo8_reg: LDO8 { + regulator-name = "VDD10_MIPI"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo9_reg: LDO9 { + regulator-name = "VDD33_LCD"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo10_reg: LDO10 { + regulator-name = "VDD18_MIPI"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo11_reg: LDO11 { + regulator-name = "VDD18_ABB1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo12_reg: LDO12 { + regulator-name = "VDD33_UOTG"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo13_reg: LDO13 { + regulator-name = "VDDIOPERI_18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo14_reg: LDO14 { + regulator-name = "VDD18_ABB02"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo15_reg: LDO15 { + regulator-name = "VDD10_USH"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo16_reg: LDO16 { + regulator-name = "VDD18_HSIC"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo17_reg: LDO17 { + regulator-name = "VDDIOAP_MMC012_28"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + op_mode = <1>; /* Normal Mode */ + }; + + /* Used by HSIC */ + ldo18_reg: LDO18 { + regulator-name = "VDDIOPERI_28"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + ldo20_reg: LDO20 { + regulator-name = "VDD28_CAM"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo21_reg: LDO21 { + regulator-name = "VDD28_AF"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo22_reg: LDO22 { + regulator-name = "VDDA28_2M"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo23_reg: LDO23 { + regulator-name = "VDD28_TF"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo24_reg: LDO24 { + regulator-name = "VDD33_A31"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo25_reg: LDO25 { + regulator-name = "VDD18_CAM"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo26_reg: LDO26 { + regulator-name = "VDD18_A31"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo27_reg: LDO27 { + regulator-name = "GPS_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + op_mode = <1>; /* Normal Mode */ + }; + + ldo28_reg: LDO28 { + regulator-name = "DVDD12"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + op_mode = <1>; /* Normal Mode */ + }; + + buck1_reg: BUCK1 { + regulator-name = "vdd_mif"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck2_reg: BUCK2 { + regulator-name = "vdd_arm"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1456250>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck3_reg: BUCK3 { + regulator-name = "vdd_int"; + regulator-min-microvolt = <875000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck4_reg: BUCK4 { + regulator-name = "vdd_g3d"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck5_reg: BUCK5 { + regulator-name = "vdd_m12"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck6_reg: BUCK6 { + regulator-name = "vdd12_5m"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck7_reg: BUCK7 { + regulator-name = "pvdd_buck7"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <2000000>; + regulator-boot-on; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck8_reg: BUCK8 { + regulator-name = "pvdd_buck8"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <1500000>; + regulator-boot-on; + regulator-always-on; + op_mode = <1>; /* Normal Mode */ + }; + + buck9_reg: BUCK9 { + regulator-name = "vddf28_emmc"; + regulator-min-microvolt = <750000>; + regulator-max-microvolt = <3000000>; + op_mode = <1>; /* Normal Mode */ + }; + }; + }; +}; + +&pinctrl_1 { + hsic_reset: hsic-reset { + samsung,pins = "gpm2-4"; + samsung,pin-function = <1>; + samsung,pin-pud = <0>; + samsung,pin-drv = <3>; + }; +}; + +&mfc { + status = "okay"; +}; + +&mshc_0 { + pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; + pinctrl-names = "default"; + status = "okay"; + vmmc-supply = <&buck9_reg>; + num-slots = <1>; + broken-cd; + card-detect-delay = <200>; + samsung,dw-mshc-ciu-div = <3>; + samsung,dw-mshc-sdr-timing = <2 3>; + samsung,dw-mshc-ddr-timing = <1 2>; + bus-width = <8>; + cap-mmc-highspeed; +}; + +&hsotg { + vusb_d-supply = <&ldo15_reg>; + vusb_a-supply = <&ldo12_reg>; +}; + +&rtc { + status = "okay"; + clocks = <&clock CLK_RTC>, <&ap32k>; + clock-names = "rtc", "rtc_src"; +}; + +&watchdog { + status = "okay"; +}; + +&tmu { + vtmu-supply = <&ldo16_reg>; + status = "okay"; +};
The TOPEET itop is a samsung exnynos 4412 core board, which have two package versions. This patch add the support for SCP version. Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and PMIC. The future features are in the based board. Also MFC and watchdog have been enabled. Signed-off-by: Randy Li <ayaka@soulik.info> --- arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 489 ++++++++++++++++++++++++ 1 file changed, 489 insertions(+) create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi