Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1467234 > unrolled thread
| Started by | Randy Li <ayaka@soulik.info> |
|---|---|
| First post | 2016-08-21 22:10 +0200 |
| Last post | 2016-08-22 16:20 +0200 |
| Articles | 12 — 6 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li <ayaka@soulik.info> - 2016-08-21 22:10 +0200
Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Marek Szyprowski <m.szyprowski@samsung.com> - 2016-08-22 09:00 +0200
Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Ayaka <ayaka@soulik.info> - 2016-08-22 10:30 +0200
Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Chanwoo Choi <cwchoi00@gmail.com> - 2016-08-22 16:50 +0200
Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version ayaka <ayaka@soulik.info> - 2016-08-22 16:50 +0200
[PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li <ayaka@soulik.info> - 2016-08-22 16:20 +0200
[PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li <ayaka@soulik.info> - 2016-08-22 16:20 +0200
Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Rob Herring <robh@kernel.org> - 2016-08-23 20:20 +0200
Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board ayaka <ayaka@soulik.info> - 2016-08-23 20:40 +0200
Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Rob Herring <robh@kernel.org> - 2016-08-24 00:40 +0200
Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Ayaka <ayaka@soulik.info> - 2016-08-24 11:00 +0200
[PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li <ayaka@soulik.info> - 2016-08-22 16:20 +0200
| From | Randy Li <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-21 22:10 +0200 |
| Subject | [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version |
| Message-ID | <s8Hea-4Xz-11@gated-at.bofh.it> |
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 | 434 ++++++++++++++++++++++++
1 file changed, 434 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..0860ee6
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
@@ -0,0 +1,434 @@
+/*
+ * 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ memory {
+ reg = <0x40000000 0x40000000>;
+ };
+
+ firmware@0203F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0203F000 0x1000>;
+ };
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing {
+ clock-frequency = <47500000>;
+ hactive = <1024>;
+ vactive = <600>;
+ hfront-porch = <64>;
+ hback-porch = <16>;
+ hsync-len = <48>;
+ vback-porch = <64>;
+ vfront-porch = <16>;
+ vsync-len = <3>;
+ };
+ };
+
+ fixed-rate-clocks {
+ xxti {
+ compatible = "samsung,clock-xxti";
+ clock-frequency = <0>;
+ };
+
+ xusbxti {
+ compatible = "samsung,clock-xusbxti";
+ clock-frequency = <24000000>;
+ };
+ };
+
+ 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>;
+ };
+};
+
+&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_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 {
+ samsung,mfc-r = <0x43000000 0x800000>;
+ samsung,mfc-l = <0x51000000 0x800000>;
+ 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;
+};
+
+&rtc {
+ status = "okay";
+};
+
+&hsotg {
+ vusb_d-supply = <&ldo15_reg>;
+ vusb_a-supply = <&ldo12_reg>;
+};
+
+&watchdog {
+ status = "okay";
+};
--
2.7.4
[toc] | [next] | [standalone]
| From | Marek Szyprowski <m.szyprowski@samsung.com> |
|---|---|
| Date | 2016-08-22 09:00 +0200 |
| Subject | Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version |
| Message-ID | <s8Rnc-2P6-7@gated-at.bofh.it> |
| In reply to | #1467234 |
Dear Randy,
On 2016-08-21 22:04, 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 | 434 ++++++++++++++++++++++++
> 1 file changed, 434 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..0860ee6
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> @@ -0,0 +1,434 @@
> +/*
> + * 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 <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + memory {
> + reg = <0x40000000 0x40000000>;
> + };
> +
> + firmware@0203F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0203F000 0x1000>;
> + };
> +
> + display-timings {
> + native-mode = <&timing0>;
> + timing0: timing {
> + clock-frequency = <47500000>;
> + hactive = <1024>;
> + vactive = <600>;
> + hfront-porch = <64>;
> + hback-porch = <16>;
> + hsync-len = <48>;
> + vback-porch = <64>;
> + vfront-porch = <16>;
> + vsync-len = <3>;
> + };
> + };
> +
> + fixed-rate-clocks {
> + xxti {
> + compatible = "samsung,clock-xxti";
> + clock-frequency = <0>;
> + };
> +
> + xusbxti {
> + compatible = "samsung,clock-xusbxti";
> + clock-frequency = <24000000>;
> + };
> + };
> +
> + 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>;
> + };
> +};
> +
> +&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_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 {
> + samsung,mfc-r = <0x43000000 0x800000>;
> + samsung,mfc-l = <0x51000000 0x800000>;
> + status = "okay";
> +};
Since v4.8-rc1 MFC driver has been converted to generic reserved memory
bindings,
so samsung,mfc-* properties are obsoleted and no longer used. If you
want to use
MFC driver with reserved memory, please just add following line to your dts:
#include "exynos-mfc-reserved-memory.dtsi"
Please refer to dts of other boards for more examples.
> +
> +&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;
> +};
> +
> +&rtc {
> + status = "okay";
> +};
> +
> +&hsotg {
> + vusb_d-supply = <&ldo15_reg>;
> + vusb_a-supply = <&ldo12_reg>;
> +};
> +
> +&watchdog {
> + status = "okay";
> +};
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
[toc] | [prev] | [next] | [standalone]
| From | Ayaka <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-22 10:30 +0200 |
| Message-ID | <s8SMh-3Ra-19@gated-at.bofh.it> |
| In reply to | #1467403 |
Thank you
從我的 iPad 傳送
> Marek Szyprowski <m.szyprowski@samsung.com> 於 2016年8月22日 下午2:50 寫道:
>
> Dear Randy,
>
>
>> On 2016-08-21 22:04, 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 | 434 ++++++++++++++++++++++++
>> 1 file changed, 434 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..0860ee6
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
>> @@ -0,0 +1,434 @@
>> +/*
>> + * 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 <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> + memory {
>> + reg = <0x40000000 0x40000000>;
>> + };
>> +
>> + firmware@0203F000 {
>> + compatible = "samsung,secure-firmware";
>> + reg = <0x0203F000 0x1000>;
>> + };
>> +
>> + display-timings {
>> + native-mode = <&timing0>;
>> + timing0: timing {
>> + clock-frequency = <47500000>;
>> + hactive = <1024>;
>> + vactive = <600>;
>> + hfront-porch = <64>;
>> + hback-porch = <16>;
>> + hsync-len = <48>;
>> + vback-porch = <64>;
>> + vfront-porch = <16>;
>> + vsync-len = <3>;
>> + };
>> + };
>> +
>> + fixed-rate-clocks {
>> + xxti {
>> + compatible = "samsung,clock-xxti";
>> + clock-frequency = <0>;
>> + };
>> +
>> + xusbxti {
>> + compatible = "samsung,clock-xusbxti";
>> + clock-frequency = <24000000>;
>> + };
>> + };
>> +
>> + 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>;
>> + };
>> +};
>> +
>> +&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_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 {
>> + samsung,mfc-r = <0x43000000 0x800000>;
>> + samsung,mfc-l = <0x51000000 0x800000>;
>> + status = "okay";
>> +};
>
> Since v4.8-rc1 MFC driver has been converted to generic reserved memory bindings,
> so samsung,mfc-* properties are obsoleted and no longer used. If you want to use
> MFC driver with reserved memory, please just add following line to your dts:
> #include "exynos-mfc-reserved-memory.dtsi"
>
> Please refer to dts of other boards for more examples.
I see, I would also enabled the bus_mfc and mfc entry.
I notice the new introduce Exynos bus. I need some time to add support it. I will send a new version later time(maybe you have to wait this weekend, sorry about that).
>
>> +
>> +&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;
>> +};
>> +
>> +&rtc {
>> + status = "okay";
>> +};
>> +
>> +&hsotg {
>> + vusb_d-supply = <&ldo15_reg>;
>> + vusb_a-supply = <&ldo12_reg>;
>> +};
>> +
>> +&watchdog {
>> + status = "okay";
>> +};
>
> Best regards
> --
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cwchoi00@gmail.com> |
|---|---|
| Date | 2016-08-22 16:50 +0200 |
| Message-ID | <s8YI1-7y6-11@gated-at.bofh.it> |
| In reply to | #1467449 |
Hi,
2016-08-22 17:28 GMT+09:00 Ayaka <ayaka@soulik.info>:
>
> Thank you
> 從我的 iPad 傳送
>
>> Marek Szyprowski <m.szyprowski@samsung.com> 於 2016年8月22日 下午2:50 寫道:
>>
>> Dear Randy,
>>
>>
>>> On 2016-08-21 22:04, 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 | 434 ++++++++++++++++++++++++
>>> 1 file changed, 434 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..0860ee6
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
>>> @@ -0,0 +1,434 @@
>>> +/*
>>> + * 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 <dt-bindings/gpio/gpio.h>
>>> +#include <dt-bindings/input/input.h>
>>> +
>>> +/ {
>>> + memory {
>>> + reg = <0x40000000 0x40000000>;
>>> + };
>>> +
>>> + firmware@0203F000 {
>>> + compatible = "samsung,secure-firmware";
>>> + reg = <0x0203F000 0x1000>;
>>> + };
>>> +
>>> + display-timings {
>>> + native-mode = <&timing0>;
>>> + timing0: timing {
>>> + clock-frequency = <47500000>;
>>> + hactive = <1024>;
>>> + vactive = <600>;
>>> + hfront-porch = <64>;
>>> + hback-porch = <16>;
>>> + hsync-len = <48>;
>>> + vback-porch = <64>;
>>> + vfront-porch = <16>;
>>> + vsync-len = <3>;
>>> + };
>>> + };
>>> +
>>> + fixed-rate-clocks {
>>> + xxti {
>>> + compatible = "samsung,clock-xxti";
>>> + clock-frequency = <0>;
>>> + };
>>> +
>>> + xusbxti {
>>> + compatible = "samsung,clock-xusbxti";
>>> + clock-frequency = <24000000>;
>>> + };
>>> + };
>>> +
>>> + 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>;
>>> + };
>>> +};
>>> +
>>> +&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_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 {
>>> + samsung,mfc-r = <0x43000000 0x800000>;
>>> + samsung,mfc-l = <0x51000000 0x800000>;
>>> + status = "okay";
>>> +};
>>
>> Since v4.8-rc1 MFC driver has been converted to generic reserved memory bindings,
>> so samsung,mfc-* properties are obsoleted and no longer used. If you want to use
>> MFC driver with reserved memory, please just add following line to your dts:
>> #include "exynos-mfc-reserved-memory.dtsi"
>>
>> Please refer to dts of other boards for more examples.
> I see, I would also enabled the bus_mfc and mfc entry.
> I notice the new introduce Exynos bus. I need some time to add support it. I will send a new version later time(maybe you have to wait this weekend, sorry about that).
What is meaning of "new introduce Exynos bus"?
Could you explain it to me?
[snip]
--
Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | ayaka <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-22 16:50 +0200 |
| Subject | Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version |
| Message-ID | <s8YI1-7y6-19@gated-at.bofh.it> |
| In reply to | #1467682 |
On 08/22/2016 10:45 PM, Chanwoo Choi wrote:
> Hi,
>
> 2016-08-22 17:28 GMT+09:00 Ayaka <ayaka@soulik.info>:
>> Thank you
>> 從我的 iPad 傳送
>>
>>> Marek Szyprowski <m.szyprowski@samsung.com> 於 2016年8月22日 下午2:50 寫道:
>>>
>>> Dear Randy,
>>>
>>>
>>>> On 2016-08-21 22:04, 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 | 434 ++++++++++++++++++++++++
>>>> 1 file changed, 434 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..0860ee6
>>>> --- /dev/null
>>>> +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
>>>> @@ -0,0 +1,434 @@
>>>> +/*
>>>> + * 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 <dt-bindings/gpio/gpio.h>
>>>> +#include <dt-bindings/input/input.h>
>>>> +
>>>> +/ {
>>>> + memory {
>>>> + reg = <0x40000000 0x40000000>;
>>>> + };
>>>> +
>>>> + firmware@0203F000 {
>>>> + compatible = "samsung,secure-firmware";
>>>> + reg = <0x0203F000 0x1000>;
>>>> + };
>>>> +
>>>> + display-timings {
>>>> + native-mode = <&timing0>;
>>>> + timing0: timing {
>>>> + clock-frequency = <47500000>;
>>>> + hactive = <1024>;
>>>> + vactive = <600>;
>>>> + hfront-porch = <64>;
>>>> + hback-porch = <16>;
>>>> + hsync-len = <48>;
>>>> + vback-porch = <64>;
>>>> + vfront-porch = <16>;
>>>> + vsync-len = <3>;
>>>> + };
>>>> + };
>>>> +
>>>> + fixed-rate-clocks {
>>>> + xxti {
>>>> + compatible = "samsung,clock-xxti";
>>>> + clock-frequency = <0>;
>>>> + };
>>>> +
>>>> + xusbxti {
>>>> + compatible = "samsung,clock-xusbxti";
>>>> + clock-frequency = <24000000>;
>>>> + };
>>>> + };
>>>> +
>>>> + 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>;
>>>> + };
>>>> +};
>>>> +
>>>> +&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_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 {
>>>> + samsung,mfc-r = <0x43000000 0x800000>;
>>>> + samsung,mfc-l = <0x51000000 0x800000>;
>>>> + status = "okay";
>>>> +};
>>> Since v4.8-rc1 MFC driver has been converted to generic reserved memory bindings,
>>> so samsung,mfc-* properties are obsoleted and no longer used. If you want to use
>>> MFC driver with reserved memory, please just add following line to your dts:
>>> #include "exynos-mfc-reserved-memory.dtsi"
>>>
>>> Please refer to dts of other boards for more examples.
>> I see, I would also enabled the bus_mfc and mfc entry.
>> I notice the new introduce Exynos bus. I need some time to add support it. I will send a new version later time(maybe you have to wait this weekend, sorry about that).
> What is meaning of "new introduce Exynos bus"?
Generic Exynos Bus frequency device
> Could you explain it to me?
It seems not very hard, I have sent new dts. But I am not sure I
understand it. For example I don't that C2C, PERIR and FSYS used for.
>
> [snip]
>
[toc] | [prev] | [next] | [standalone]
| From | Randy Li <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-22 16:20 +0200 |
| Message-ID | <s8YeZ-7mP-1@gated-at.bofh.it> |
| In reply to | #1467403 |
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 and PMIC.
The future features are in the based board. Also MFC and watchdog
have been enabled. The RTC clock source comes from PMIC, addtional
clk driver is needed.
Signed-off-by: Randy Li <ayaka@soulik.info>
---
arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 472 ++++++++++++++++++++++++
1 file changed, 472 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..4fdf546
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
@@ -0,0 +1,472 @@
+/*
+ * 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>
+#include <dt-bindings/clock/samsung,s5m8767.h>
+
+/ {
+ memory {
+ reg = <0x40000000 0x40000000>;
+ };
+
+ firmware@0203F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0203F000 0x1000>;
+ };
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing {
+ clock-frequency = <47500000>;
+ hactive = <1024>;
+ vactive = <600>;
+ hfront-porch = <64>;
+ hback-porch = <16>;
+ hsync-len = <48>;
+ vback-porch = <64>;
+ vfront-porch = <16>;
+ vsync-len = <3>;
+ };
+ };
+
+ fixed-rate-clocks {
+ xxti {
+ compatible = "samsung,clock-xxti";
+ clock-frequency = <0>;
+ };
+
+ xusbxti {
+ compatible = "samsung,clock-xusbxti";
+ clock-frequency = <24000000>;
+ };
+ };
+
+ 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>;
+};
+
+&watchdog {
+ status = "okay";
+};
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | Randy Li <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-22 16:20 +0200 |
| Subject | [PATCH 2/2] ARM: dts: add TOPEET itop elite based board |
| Message-ID | <s8YeZ-7mP-19@gated-at.bofh.it> |
| In reply to | #1467403 |
The TOPEET itop exynos 4412 have three versions base board. The
Elite version is the cheap one without too much peripheral devices
on it.
Currently supported are serial console, wired networking(USB),
USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
PWM beeper, ADC and LEDs.
Signed-off-by: Randy Li <ayaka@soulik.info>
---
.../bindings/arm/samsung/samsung-boards.txt | 3 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/exynos4412-itop-elite.dts | 147 +++++++++++++++++++++
3 files changed, 151 insertions(+)
create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
index 0ea7f14..c5913ba 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
@@ -22,6 +22,9 @@ Required root node properties:
* FriendlyARM
- "friendlyarm,tiny4412" - for Exynos4412-based FriendlyARM
TINY4412 board.
+ * Topee
+ - "topeet,itop4412-elite" - for Exynos4412-based Topeet
+ Elite base board.
* Google
- "google,pi" - for Exynos5800-based Google Peach Pi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 48e1d4e..8f47aa0 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
exynos4412-origen.dtb \
exynos4412-smdk4412.dtb \
exynos4412-tiny4412.dtb \
+ exynos4412-itop-elite.dtb \
exynos4412-trats2.dtb
dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5250-arndale.dtb \
diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
new file mode 100644
index 0000000..3e0863b
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -0,0 +1,147 @@
+/*
+ * 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 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.
+*/
+
+/dts-v1/;
+#include "exynos4412-itop-scp-core.dtsi"
+
+/ {
+ model = "TOPEET iTop 4412 Elite board based on Exynos4412";
+ compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
+
+ chosen {
+ bootargs ="console=ttySAC2,115200";
+ stdout-path = &serial_2;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led2 {
+ label = "red:system";
+ gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ linux,default-trigger = "heartbeat";
+ };
+
+ led3 {
+ label = "red:user";
+ gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ home {
+ lable = "GPIO Key Home";
+ linux,code = <KEY_HOME>;
+ gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
+ };
+
+ back {
+ lable = "GPIO Key Back";
+ linux,code = <KEY_BACK>;
+ gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
+ };
+
+ sleep {
+ lable = "GPIO Key Sleep";
+ linux,code = <KEY_POWER>;
+ gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
+ };
+
+ vol_up {
+ lable = "GPIO Key Vol+";
+ linux,code = <KEY_UP>;
+ gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
+ };
+
+ vol_down {
+ lable = "GPIO Key Vol-";
+ linux,code = <KEY_DOWN>;
+ gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ beep {
+ compatible = "pwm-beeper";
+ pwms = <&pwm>;
+ pinctrl-0 = <&pwm0_out>;
+ pinctrl-names = "default";
+ };
+};
+
+&pinctrl_1 {
+ ether-reset {
+ samsung,pins = "gpc0-1";
+ samsung,pin-function = <1>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <0>;
+ };
+};
+
+&sdhci_2 {
+ bus-width = <4>;
+ pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
+ pinctrl-names = "default";
+ broken-cd;
+ cap-sd-highspeed;
+ vmmc-supply = <&ldo23_reg>;
+ vqmmc-supply = <&ldo17_reg>;
+ status = "okay";
+};
+
+&ehci {
+ status = "okay";
+ /* In order to reset USB ethernet */
+ samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
+
+ port@0 {
+ status = "okay";
+ };
+
+ port@2 {
+ status = "okay";
+ };
+};
+
+&exynos_usbphy {
+ status = "okay";
+};
+
+&hsotg {
+ dr_mode = "peripheral";
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&serial_2 {
+ status = "okay";
+};
+
+&pwm {
+ pinctrl-0 = <&pwm1_out>;
+ pinctrl-names = "default";
+ samsung,pwm-outputs = <1>;
+ status = "okay";
+};
+
+&adc {
+ status = "okay";
+};
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-08-23 20:20 +0200 |
| Subject | Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board |
| Message-ID | <s9osN-7zz-5@gated-at.bofh.it> |
| In reply to | #1467666 |
On Mon, Aug 22, 2016 at 10:18:09PM +0800, Randy Li wrote:
> The TOPEET itop exynos 4412 have three versions base board. The
> Elite version is the cheap one without too much peripheral devices
> on it.
>
> Currently supported are serial console, wired networking(USB),
> USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
> PWM beeper, ADC and LEDs.
>
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
> .../bindings/arm/samsung/samsung-boards.txt | 3 +
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/exynos4412-itop-elite.dts | 147 +++++++++++++++++++++
> 3 files changed, 151 insertions(+)
> create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> index 0ea7f14..c5913ba 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> @@ -22,6 +22,9 @@ Required root node properties:
> * FriendlyARM
> - "friendlyarm,tiny4412" - for Exynos4412-based FriendlyARM
> TINY4412 board.
> + * Topee
Topeet?
> + - "topeet,itop4412-elite" - for Exynos4412-based Topeet
> + Elite base board.
>
> * Google
> - "google,pi" - for Exynos5800-based Google Peach Pi
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 48e1d4e..8f47aa0 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
> exynos4412-origen.dtb \
> exynos4412-smdk4412.dtb \
> exynos4412-tiny4412.dtb \
> + exynos4412-itop-elite.dtb \
> exynos4412-trats2.dtb
> dtb-$(CONFIG_ARCH_EXYNOS5) += \
> exynos5250-arndale.dtb \
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> new file mode 100644
> index 0000000..3e0863b
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -0,0 +1,147 @@
> +/*
> + * 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 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.
> +*/
> +
> +/dts-v1/;
> +#include "exynos4412-itop-scp-core.dtsi"
> +
> +/ {
> + model = "TOPEET iTop 4412 Elite board based on Exynos4412";
> + compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
> +
> + chosen {
> + bootargs ="console=ttySAC2,115200";
Don't need console set with...
> + stdout-path = &serial_2;
this set.
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led2 {
> + label = "red:system";
> + gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + linux,default-trigger = "heartbeat";
> + };
> +
> + led3 {
> + label = "red:user";
> + gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>;
> + default-state = "off";
> + };
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + home {
> + lable = "GPIO Key Home";
s/lable/label/
> + linux,code = <KEY_HOME>;
> + gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
> + };
> +
> + back {
> + lable = "GPIO Key Back";
ditto...
> + linux,code = <KEY_BACK>;
> + gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
> + };
> +
> + sleep {
> + lable = "GPIO Key Sleep";
> + linux,code = <KEY_POWER>;
> + gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
> + };
> +
> + vol_up {
> + lable = "GPIO Key Vol+";
> + linux,code = <KEY_UP>;
> + gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
> + };
> +
> + vol_down {
> + lable = "GPIO Key Vol-";
> + linux,code = <KEY_DOWN>;
> + gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + beep {
> + compatible = "pwm-beeper";
> + pwms = <&pwm>;
> + pinctrl-0 = <&pwm0_out>;
> + pinctrl-names = "default";
> + };
> +};
> +
> +&pinctrl_1 {
> + ether-reset {
> + samsung,pins = "gpc0-1";
> + samsung,pin-function = <1>;
> + samsung,pin-pud = <0>;
> + samsung,pin-drv = <0>;
> + };
> +};
> +
> +&sdhci_2 {
> + bus-width = <4>;
> + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
> + pinctrl-names = "default";
> + broken-cd;
> + cap-sd-highspeed;
> + vmmc-supply = <&ldo23_reg>;
> + vqmmc-supply = <&ldo17_reg>;
> + status = "okay";
> +};
> +
> +&ehci {
> + status = "okay";
> + /* In order to reset USB ethernet */
> + samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
> +
> + port@0 {
> + status = "okay";
> + };
> +
> + port@2 {
> + status = "okay";
> + };
> +};
> +
> +&exynos_usbphy {
> + status = "okay";
> +};
> +
> +&hsotg {
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&serial_2 {
> + status = "okay";
> +};
> +
> +&pwm {
> + pinctrl-0 = <&pwm1_out>;
> + pinctrl-names = "default";
> + samsung,pwm-outputs = <1>;
> + status = "okay";
> +};
> +
> +&adc {
> + status = "okay";
> +};
> --
> 2.7.4
>
[toc] | [prev] | [next] | [standalone]
| From | ayaka <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-23 20:40 +0200 |
| Subject | Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board |
| Message-ID | <s9oM9-7HP-5@gated-at.bofh.it> |
| In reply to | #1468758 |
On 08/24/2016 02:14 AM, Rob Herring wrote:
> On Mon, Aug 22, 2016 at 10:18:09PM +0800, Randy Li wrote:
>> The TOPEET itop exynos 4412 have three versions base board. The
>> Elite version is the cheap one without too much peripheral devices
>> on it.
>>
>> Currently supported are serial console, wired networking(USB),
>> USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
>> PWM beeper, ADC and LEDs.
>>
>> Signed-off-by: Randy Li <ayaka@soulik.info>
>> ---
>> .../bindings/arm/samsung/samsung-boards.txt | 3 +
>> arch/arm/boot/dts/Makefile | 1 +
>> arch/arm/boot/dts/exynos4412-itop-elite.dts | 147 +++++++++++++++++++++
>> 3 files changed, 151 insertions(+)
>> create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
>>
>> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> index 0ea7f14..c5913ba 100644
>> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> @@ -22,6 +22,9 @@ Required root node properties:
>> * FriendlyARM
>> - "friendlyarm,tiny4412" - for Exynos4412-based FriendlyARM
>> TINY4412 board.
>> + * Topee
> Topeet?
>
>> + - "topeet,itop4412-elite" - for Exynos4412-based Topeet
>> + Elite base board.
>>
>> * Google
>> - "google,pi" - for Exynos5800-based Google Peach Pi
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 48e1d4e..8f47aa0 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -135,6 +135,7 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
>> exynos4412-origen.dtb \
>> exynos4412-smdk4412.dtb \
>> exynos4412-tiny4412.dtb \
>> + exynos4412-itop-elite.dtb \
>> exynos4412-trats2.dtb
>> dtb-$(CONFIG_ARCH_EXYNOS5) += \
>> exynos5250-arndale.dtb \
>> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
>> new file mode 100644
>> index 0000000..3e0863b
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
>> @@ -0,0 +1,147 @@
>> +/*
>> + * 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 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.
>> +*/
>> +
>> +/dts-v1/;
>> +#include "exynos4412-itop-scp-core.dtsi"
>> +
>> +/ {
>> + model = "TOPEET iTop 4412 Elite board based on Exynos4412";
>> + compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
>> +
>> + chosen {
>> + bootargs ="console=ttySAC2,115200";
> Don't need console set with...
But could I set something like rootfs here ?
As the bootloader(old u-boot) offered by the vendor is brick, it is
impossible to save any something in u-boot.
>
>> + stdout-path = &serial_2;
> this set.
>
>> + };
>> +
>> + leds {
>> + compatible = "gpio-leds";
>> +
>> + led2 {
>> + label = "red:system";
>> + gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + linux,default-trigger = "heartbeat";
>> + };
>> +
>> + led3 {
>> + label = "red:user";
>> + gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>;
>> + default-state = "off";
>> + };
>> + };
>> +
>> + gpio-keys {
>> + compatible = "gpio-keys";
>> +
>> + home {
>> + lable = "GPIO Key Home";
> s/lable/label/
>
>> + linux,code = <KEY_HOME>;
>> + gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + back {
>> + lable = "GPIO Key Back";
> ditto...
>
>> + linux,code = <KEY_BACK>;
>> + gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + sleep {
>> + lable = "GPIO Key Sleep";
>> + linux,code = <KEY_POWER>;
>> + gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + vol_up {
>> + lable = "GPIO Key Vol+";
>> + linux,code = <KEY_UP>;
>> + gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
>> + };
>> +
>> + vol_down {
>> + lable = "GPIO Key Vol-";
>> + linux,code = <KEY_DOWN>;
>> + gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
>> + };
>> + };
>> +
>> + beep {
>> + compatible = "pwm-beeper";
>> + pwms = <&pwm>;
>> + pinctrl-0 = <&pwm0_out>;
>> + pinctrl-names = "default";
>> + };
>> +};
>> +
>> +&pinctrl_1 {
>> + ether-reset {
>> + samsung,pins = "gpc0-1";
>> + samsung,pin-function = <1>;
>> + samsung,pin-pud = <0>;
>> + samsung,pin-drv = <0>;
>> + };
>> +};
>> +
>> +&sdhci_2 {
>> + bus-width = <4>;
>> + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
>> + pinctrl-names = "default";
>> + broken-cd;
>> + cap-sd-highspeed;
>> + vmmc-supply = <&ldo23_reg>;
>> + vqmmc-supply = <&ldo17_reg>;
>> + status = "okay";
>> +};
>> +
>> +&ehci {
>> + status = "okay";
>> + /* In order to reset USB ethernet */
>> + samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
>> +
>> + port@0 {
>> + status = "okay";
>> + };
>> +
>> + port@2 {
>> + status = "okay";
>> + };
>> +};
>> +
>> +&exynos_usbphy {
>> + status = "okay";
>> +};
>> +
>> +&hsotg {
>> + dr_mode = "peripheral";
>> + status = "okay";
>> +};
>> +
>> +&serial_1 {
>> + status = "okay";
>> +};
>> +
>> +&serial_2 {
>> + status = "okay";
>> +};
>> +
>> +&pwm {
>> + pinctrl-0 = <&pwm1_out>;
>> + pinctrl-names = "default";
>> + samsung,pwm-outputs = <1>;
>> + status = "okay";
>> +};
>> +
>> +&adc {
>> + status = "okay";
>> +};
>> --
>> 2.7.4
>>
Thank you for correct my spell mistake. I would resend a new version in
this weekend. After I have done the clock driver samsung s5m8767 regualtor.
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-08-24 00:40 +0200 |
| Subject | Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board |
| Message-ID | <s9swq-1Oh-9@gated-at.bofh.it> |
| In reply to | #1468767 |
On Tue, Aug 23, 2016 at 1:36 PM, ayaka <ayaka@soulik.info> wrote:
>
> On 08/24/2016 02:14 AM, Rob Herring wrote:
>>
>> On Mon, Aug 22, 2016 at 10:18:09PM +0800, Randy Li wrote:
>>>
>>> The TOPEET itop exynos 4412 have three versions base board. The
>>> Elite version is the cheap one without too much peripheral devices
>>> on it.
>>>
>>> Currently supported are serial console, wired networking(USB),
>>> USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
>>> PWM beeper, ADC and LEDs.
[...]
>>> +/dts-v1/;
>>> +#include "exynos4412-itop-scp-core.dtsi"
>>> +
>>> +/ {
>>> + model = "TOPEET iTop 4412 Elite board based on Exynos4412";
>>> + compatible = "topeet,itop4412-elite", "samsung,exynos4412",
>>> "samsung,exynos4";
>>> +
>>> + chosen {
>>> + bootargs ="console=ttySAC2,115200";
>>
>> Don't need console set with...
>
> But could I set something like rootfs here ?
> As the bootloader(old u-boot) offered by the vendor is brick, it is
> impossible to save any something in u-boot.
Yes, but then that is a user decision and shouldn't really be there
either. In other words, ether the bootloader should set bootargs
(which even a vendor u-boot should be able to do either directly or
the zImage can take it from the ATAGS) or a user can edit the dts and
carry that change.
However, there are probably plenty of examples in the kernel that
counter what I just said.
Rob
[toc] | [prev] | [next] | [standalone]
| From | Ayaka <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-24 11:00 +0200 |
| Subject | Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board |
| Message-ID | <s9Ccp-8hd-17@gated-at.bofh.it> |
| In reply to | #1468953 |
從我的 iPad 傳送
> Rob Herring <robh@kernel.org> 於 2016年8月24日 上午6:38 寫道:
>
>> On Tue, Aug 23, 2016 at 1:36 PM, ayaka <ayaka@soulik.info> wrote:
>>
>>> On 08/24/2016 02:14 AM, Rob Herring wrote:
>>>
>>>> On Mon, Aug 22, 2016 at 10:18:09PM +0800, Randy Li wrote:
>>>>
>>>> The TOPEET itop exynos 4412 have three versions base board. The
>>>> Elite version is the cheap one without too much peripheral devices
>>>> on it.
>>>>
>>>> Currently supported are serial console, wired networking(USB),
>>>> USB OTG in peripheral mode, USB host, SD storage, GPIO buttons,
>>>> PWM beeper, ADC and LEDs.
>
> [...]
>
>>>> +/dts-v1/;
>>>> +#include "exynos4412-itop-scp-core.dtsi"
>>>> +
>>>> +/ {
>>>> + model = "TOPEET iTop 4412 Elite board based on Exynos4412";
>>>> + compatible = "topeet,itop4412-elite", "samsung,exynos4412",
>>>> "samsung,exynos4";
>>>> +
>>>> + chosen {
>>>> + bootargs ="console=ttySAC2,115200";
>>>
>>> Don't need console set with...
>>
>> But could I set something like rootfs here ?
>> As the bootloader(old u-boot) offered by the vendor is brick, it is
>> impossible to save any something in u-boot.
>
> Yes, but then that is a user decision and shouldn't really be there
> either. In other words, ether the bootloader should set bootargs
> (which even a vendor u-boot should be able to do either directly or
> the zImage can take it from the ATAGS)
Yes, but you have to break the auto boot every time. I want to write a new u-boot for it, but I meet some problem with JTAG, it won't come soon.
> or a user can edit the dts and
> carry that change.
>
> However, there are probably plenty of examples in the kernel that
> counter what I just said.
I see than you. May I ask if I specific the rootfs bootargs of in dts, should you accept such patch?
>
> Rob
[toc] | [prev] | [next] | [standalone]
| From | Randy Li <ayaka@soulik.info> |
|---|---|
| Date | 2016-08-22 16:20 +0200 |
| Subject | [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 |
| Message-ID | <s8YeZ-7mP-3@gated-at.bofh.it> |
| In reply to | #1467403 |
Changelog:
- v2:
- remove rtc node
the clock source driver is not done yet.
- add exynos-bus
- fix the MFC
Randy Li (2):
ARM: dts: Add TOPEET itop core board SCP package version
ARM: dts: add TOPEET itop elite based board
.../bindings/arm/samsung/samsung-boards.txt | 3 +
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/exynos4412-itop-elite.dts | 147 +++++++
arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 472 +++++++++++++++++++++
4 files changed, 623 insertions(+)
create mode 100644 arch/arm/boot/dts/exynos4412-itop-elite.dts
create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
--
2.7.4
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web