Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1467234 > unrolled thread

[PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version

Started byRandy Li <ayaka@soulik.info>
First post2016-08-21 22:10 +0200
Last post2016-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.


Contents

  [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

#1467234 — [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version

FromRandy Li <ayaka@soulik.info>
Date2016-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]


#1467403 — Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version

FromMarek Szyprowski <m.szyprowski@samsung.com>
Date2016-08-22 09:00 +0200
SubjectRe: [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]


#1467449

FromAyaka <ayaka@soulik.info>
Date2016-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]


#1467682

FromChanwoo Choi <cwchoi00@gmail.com>
Date2016-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]


#1467686 — Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version

Fromayaka <ayaka@soulik.info>
Date2016-08-22 16:50 +0200
SubjectRe: [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]


#1467662

FromRandy Li <ayaka@soulik.info>
Date2016-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]


#1467666 — [PATCH 2/2] ARM: dts: add TOPEET itop elite based board

FromRandy Li <ayaka@soulik.info>
Date2016-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]


#1468758 — Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board

FromRob Herring <robh@kernel.org>
Date2016-08-23 20:20 +0200
SubjectRe: [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]


#1468767 — Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board

Fromayaka <ayaka@soulik.info>
Date2016-08-23 20:40 +0200
SubjectRe: [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]


#1468953 — Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board

FromRob Herring <robh@kernel.org>
Date2016-08-24 00:40 +0200
SubjectRe: [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]


#1469228 — Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board

FromAyaka <ayaka@soulik.info>
Date2016-08-24 11:00 +0200
SubjectRe: [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]


#1467667 — [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412

FromRandy Li <ayaka@soulik.info>
Date2016-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