linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add a new board for exynos 4412
@ 2016-08-21 20:04 Randy Li
  2016-08-21 20:04 ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
  2016-08-21 20:04 ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
  0 siblings, 2 replies; 35+ messages in thread
From: Randy Li @ 2016-08-21 20:04 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

These patches would add a support for a new exynos 4412 core
board with a base board.

Although the Samsung Exynos 4412 is a old chip but still powerful.
The main reason I keep to use it is the MFC. It is quite easy
to use the multimedia functions in samsung.  I would like to
go into graphics part in the future.

Anyway, the TOPEET iTOP-4412 have many different version,
I only have Elite and Full version(The other one is Super version).
With two different Core board Chip pakcage(SCP or POP). As I
only have the SCP one, I would only offer support to SCP version.

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        | 148 +++++++
 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi    | 434 +++++++++++++++++++++
 4 files changed, 586 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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-21 20:04 [PATCH 0/2] Add a new board for exynos 4412 Randy Li
@ 2016-08-21 20:04 ` Randy Li
  2016-08-22  6:50   ` Marek Szyprowski
  2016-08-21 20:04 ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
  1 sibling, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-21 20:04 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-21 20:04 [PATCH 0/2] Add a new board for exynos 4412 Randy Li
  2016-08-21 20:04 ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
@ 2016-08-21 20:04 ` Randy Li
  2016-08-21 20:12   ` [PATCH 2/2 v2] " Randy Li
  1 sibling, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-21 20:04 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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        | 148 +++++++++++++++++++++
 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi    |   2 +-
 4 files changed, 153 insertions(+), 1 deletion(-)
 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..363908e
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -0,0 +1,148 @@
+/*
+ * 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";
+};
diff --git a/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
index 0860ee6..040037b 100644
--- a/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
+++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
@@ -394,7 +394,7 @@
 		samsung,pins = "gpm2-4";
 		samsung,pin-function = <1>;
 		samsung,pin-pud = <0>;
-		samsung,pin-drv = <3>;
+		samsung,pin-drv = <0>;
 	};
 };
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 2/2 v2] ARM: dts: add TOPEET itop elite based board
  2016-08-21 20:04 ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
@ 2016-08-21 20:12   ` Randy Li
  0 siblings, 0 replies; 35+ messages in thread
From: Randy Li @ 2016-08-21 20:12 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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        | 148 +++++++++++++++++++++
 3 files changed, 152 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..363908e
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -0,0 +1,148 @@
+/*
+ * 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

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-21 20:04 ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
@ 2016-08-22  6:50   ` Marek Szyprowski
  2016-08-22  8:28     ` Ayaka
  2016-08-22 14:18     ` [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  0 siblings, 2 replies; 35+ messages in thread
From: Marek Szyprowski @ 2016-08-22  6:50 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-22  6:50   ` Marek Szyprowski
@ 2016-08-22  8:28     ` Ayaka
  2016-08-22 14:45       ` Chanwoo Choi
  2016-08-22 14:18     ` [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  1 sibling, 1 reply; 35+ messages in thread
From: Ayaka @ 2016-08-22  8:28 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: devicetree, robh+dt, mark.rutland, linux, kgene, krzk,
	linux-arm-kernel, linux-samsung-soc, linux-kernel


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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412
  2016-08-22  6:50   ` Marek Szyprowski
  2016-08-22  8:28     ` Ayaka
@ 2016-08-22 14:18     ` Randy Li
  2016-08-22 14:18       ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
  2016-08-22 14:18       ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
  1 sibling, 2 replies; 35+ messages in thread
From: Randy Li @ 2016-08-22 14:18 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-22 14:18     ` [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li
@ 2016-08-22 14:18       ` Randy Li
  2016-08-22 14:18       ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
  1 sibling, 0 replies; 35+ messages in thread
From: Randy Li @ 2016-08-22 14:18 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-22 14:18     ` [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  2016-08-22 14:18       ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
@ 2016-08-22 14:18       ` Randy Li
  2016-08-22 18:59         ` kbuild test robot
  2016-08-23 18:14         ` Rob Herring
  1 sibling, 2 replies; 35+ messages in thread
From: Randy Li @ 2016-08-22 14:18 UTC (permalink / raw)
  To: devicetree
  Cc: robh+dt, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, Randy Li

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

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-22  8:28     ` Ayaka
@ 2016-08-22 14:45       ` Chanwoo Choi
  2016-08-22 14:49         ` ayaka
  0 siblings, 1 reply; 35+ messages in thread
From: Chanwoo Choi @ 2016-08-22 14:45 UTC (permalink / raw)
  To: Ayaka
  Cc: Marek Szyprowski, devicetree, Rob Herring, Mark Rutland, linux,
	Kukjin Kim, krzk, linux-arm-kernel, linux-samsung-soc,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-22 14:45       ` Chanwoo Choi
@ 2016-08-22 14:49         ` ayaka
  0 siblings, 0 replies; 35+ messages in thread
From: ayaka @ 2016-08-22 14:49 UTC (permalink / raw)
  To: chanwoo
  Cc: Marek Szyprowski, devicetree, Rob Herring, Mark Rutland, linux,
	Kukjin Kim, krzk, linux-arm-kernel, linux-samsung-soc,
	linux-kernel



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]
>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-22 14:18       ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
@ 2016-08-22 18:59         ` kbuild test robot
  2016-08-23 18:14         ` Rob Herring
  1 sibling, 0 replies; 35+ messages in thread
From: kbuild test robot @ 2016-08-22 18:59 UTC (permalink / raw)
  To: Randy Li
  Cc: kbuild-all, devicetree, robh+dt, mark.rutland, linux, kgene,
	krzk, linux-arm-kernel, linux-samsung-soc, linux-kernel,
	Randy Li

[-- Attachment #1: Type: text/plain, Size: 3337 bytes --]

Hi Randy,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.8-rc3 next-20160822]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Randy-Li/ARM-dts-Add-TOPEET-itop-core-board-SCP-package-version/20160822-222021
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   In file included from arch/arm/boot/dts/exynos4412-itop-elite.dts:17:0:
>> arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi:21:47: fatal error: dt-bindings/clock/samsung,s5m8767.h: No such file or directory
   compilation terminated.

vim +21 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi

42b32682 Randy Li 2016-08-22   5   *			https://www.sumomo.mobi
42b32682 Randy Li 2016-08-22   6   *			Randy Li <ayaka@soulik.info>
42b32682 Randy Li 2016-08-22   7   *			
42b32682 Randy Li 2016-08-22   8   * Device tree source file for TOPEET iTop Exynos 4412 SCP package core 
42b32682 Randy Li 2016-08-22   9   * board which is based on Samsung's Exynos4412 SoC.
42b32682 Randy Li 2016-08-22  10   *
42b32682 Randy Li 2016-08-22  11   * This program is free software; you can redistribute it and/or modify
42b32682 Randy Li 2016-08-22  12   * it under the terms of the GNU General Public License version 2 as
42b32682 Randy Li 2016-08-22  13   * published by the Free Software Foundation.
42b32682 Randy Li 2016-08-22  14  */
42b32682 Randy Li 2016-08-22  15  
42b32682 Randy Li 2016-08-22  16  #include "exynos4412.dtsi"
42b32682 Randy Li 2016-08-22  17  #include "exynos4412-ppmu-common.dtsi"
42b32682 Randy Li 2016-08-22  18  #include "exynos-mfc-reserved-memory.dtsi"
42b32682 Randy Li 2016-08-22  19  #include <dt-bindings/gpio/gpio.h>
42b32682 Randy Li 2016-08-22  20  #include <dt-bindings/input/input.h>
42b32682 Randy Li 2016-08-22 @21  #include <dt-bindings/clock/samsung,s5m8767.h>
42b32682 Randy Li 2016-08-22  22  
42b32682 Randy Li 2016-08-22  23  / {
42b32682 Randy Li 2016-08-22  24  	memory {
42b32682 Randy Li 2016-08-22  25  		reg = <0x40000000 0x40000000>;
42b32682 Randy Li 2016-08-22  26  	};
42b32682 Randy Li 2016-08-22  27  
42b32682 Randy Li 2016-08-22  28  	firmware@0203F000 {
42b32682 Randy Li 2016-08-22  29  		compatible = "samsung,secure-firmware";

:::::: The code at line 21 was first introduced by commit
:::::: 42b32682968d7e76d32f9db37795784297a284c7 ARM: dts: Add TOPEET itop core board SCP package version

:::::: TO: Randy Li <ayaka@soulik.info>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 58497 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-22 14:18       ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
  2016-08-22 18:59         ` kbuild test robot
@ 2016-08-23 18:14         ` Rob Herring
  2016-08-23 18:36           ` ayaka
  1 sibling, 1 reply; 35+ messages in thread
From: Rob Herring @ 2016-08-23 18:14 UTC (permalink / raw)
  To: Randy Li
  Cc: devicetree, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel

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
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-23 18:14         ` Rob Herring
@ 2016-08-23 18:36           ` ayaka
  2016-08-23 22:38             ` Rob Herring
  0 siblings, 1 reply; 35+ messages in thread
From: ayaka @ 2016-08-23 18:36 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel


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.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-23 18:36           ` ayaka
@ 2016-08-23 22:38             ` Rob Herring
  2016-08-24  8:29               ` Ayaka
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  0 siblings, 2 replies; 35+ messages in thread
From: Rob Herring @ 2016-08-23 22:38 UTC (permalink / raw)
  To: ayaka
  Cc: devicetree, Mark Rutland, Russell King, kgene, krzk,
	linux-arm-kernel, linux-samsung-soc, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/2] ARM: dts: add TOPEET itop elite based board
  2016-08-23 22:38             ` Rob Herring
@ 2016-08-24  8:29               ` Ayaka
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  1 sibling, 0 replies; 35+ messages in thread
From: Ayaka @ 2016-08-24  8:29 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree, Mark Rutland, Russell King, kgene, krzk,
	linux-arm-kernel, linux-samsung-soc, linux-kernel



從我的 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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412
  2016-08-23 22:38             ` Rob Herring
  2016-08-24  8:29               ` Ayaka
@ 2016-08-28 11:21               ` Randy Li
  2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
                                   ` (4 more replies)
  1 sibling, 5 replies; 35+ messages in thread
From: Randy Li @ 2016-08-28 11:21 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

The added the audio codec seems work now, but the audio sounds
still a little different to the original. But I didn't hear the sound
in the Android, I don't know whether it is qualified.

Also it lacks of full pinctrl for the sleep state.

Changelog:
 - v3:
   - fixing the rtc clock, using clock source from PMIC
   - enable the tmu
   - enable the fimc for elite board
   - suuport the audio codec at elite board
   - fixing minor bugs in the last commit
 - v2:
   - removing rtc node
     the clock source driver is not done yet.
   - adding exynos-bus
   - fixing the MFC

Randy Li (4):
  ARM: dts: Add TOPEET itop core board SCP package version
  ARM: dts: add TOPEET itop elite based board
  ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board
  ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite

 .../bindings/arm/samsung/samsung-boards.txt        |   3 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/exynos4412-itop-elite.dts        | 241 ++++++++++
 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi    | 489 +++++++++++++++++++++
 4 files changed, 734 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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
@ 2016-08-28 11:21                 ` Randy Li
  2016-08-28 21:13                   ` Rask Ingemann Lambertsen
  2016-08-30  7:16                   ` Krzysztof Kozlowski
  2016-08-28 11:21                 ` [PATCH 2/4] ARM: dts: add TOPEET itop elite based board Randy Li
                                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 35+ messages in thread
From: Randy Li @ 2016-08-28 11:21 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

The TOPEET itop is a samsung exnynos 4412 core board, which have
two package versions. This patch add the support for SCP version.

Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and
PMIC. The future features are in the based board. Also MFC and
watchdog have been enabled.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 489 ++++++++++++++++++++++++
 1 file changed, 489 insertions(+)
 create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi

diff --git a/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
new file mode 100644
index 0000000..ce5076c
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
@@ -0,0 +1,489 @@
+/*
+ * TOPEET's Exynos4412 based itop board device tree source
+ *
+ * Copyright (c) 2016 SUMOMO Computer Association
+ *			https://www.sumomo.mobi
+ *			Randy Li <ayaka@soulik.info>
+ *			
+ * Device tree source file for TOPEET iTop Exynos 4412 SCP package core 
+ * board which is based on Samsung's Exynos4412 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include "exynos4412.dtsi"
+#include "exynos4412-ppmu-common.dtsi"
+#include "exynos-mfc-reserved-memory.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};
+
+	firmware@0203F000 {
+		compatible = "samsung,secure-firmware";
+		reg = <0x0203F000 0x1000>;
+	};
+
+	fixed-rate-clocks {
+		xxti {
+			compatible = "samsung,clock-xxti";
+			clock-frequency = <0>;
+		};
+
+		xusbxti {
+			compatible = "samsung,clock-xusbxti";
+			clock-frequency = <24000000>;
+		};
+
+		/* Clock from S5M8767A AP32K */
+		ap32k: xrtcxti {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <32768000>;
+		};
+	};
+
+	thermal-zones {
+		cpu_thermal: cpu-thermal {
+			cooling-maps {
+				map0 {
+				     /* Corresponds to 800MHz at freq_table */
+				     cooling-device = <&cpu0 7 7>;
+				};
+				map1 {
+				     /* Corresponds to 200MHz at freq_table */
+				     cooling-device = <&cpu0 13 13>;
+			       };
+		       };
+		};
+	};
+
+	usb-hub {
+		compatible = "smsc,usb3503a";
+		reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
+		connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
+		intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&hsic_reset>;
+	};
+};
+
+&bus_dmc {
+	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
+	vdd-supply = <&buck1_reg>;
+	status = "okay";
+};
+
+&bus_acp {
+        devfreq = <&bus_dmc>;
+        status = "okay";
+};
+
+&bus_c2c {
+        devfreq = <&bus_dmc>;
+        status = "okay";
+};
+
+&bus_leftbus {
+        devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
+        vdd-supply = <&buck3_reg>;
+        status = "okay";
+};
+
+&bus_rightbus {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_fsys {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_peri {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_mfc {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&cpu0 {
+	cpu0-supply = <&buck2_reg>;
+};
+
+&i2c_1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-max-bus-freq = <400000>;
+	pinctrl-0 = <&i2c1_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	s5m8767: s5m8767_pmic@66 {
+		compatible = "samsung,s5m8767-pmic";
+		reg = <0x66>;
+
+		s5m8767,pmic-buck-default-dvs-idx = <3>;
+
+		s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>,
+						 <&gpb 6 GPIO_ACTIVE_HIGH>,
+						 <&gpb 7 GPIO_ACTIVE_HIGH>;
+
+		s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
+						<&gpm3 6 GPIO_ACTIVE_HIGH>,
+						<&gpm3 7 GPIO_ACTIVE_HIGH>;
+
+		/* VDD_ARM */
+		s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>,
+						 <1243750>, <1118750>,
+						 <1068750>, <1012500>,
+						 <956250>, <900000>;
+		/* VDD_INT */
+		s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>,
+						 <925000>, <925000>,
+						 <887500>, <887500>,
+						 <850000>, <850000>;
+		/* VDD_G3D */
+		s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>,
+						 <1025000>, <950000>,
+						 <918750>, <900000>,
+						 <875000>, <831250>;
+
+		regulators {
+			ldo1_reg: LDO1 {
+				regulator-name = "VDD_ALIVE";
+				regulator-min-microvolt = <1100000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			/* SCP uses 1.5v, POP uses 1.2v */
+			ldo2_reg: LDO2 {
+				regulator-name = "VDDQ_M12";
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo3_reg: LDO3 {
+				regulator-name = "VDDIOAP_18";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo4_reg: LDO4 {
+				regulator-name = "VDDQ_PRE";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo6_reg: LDO6 {
+				regulator-name = "VDD10_MPLL";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo7_reg: LDO7 {
+				regulator-name = "VDD10_XPLL";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo8_reg: LDO8 {
+				regulator-name = "VDD10_MIPI";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo9_reg: LDO9 {
+				regulator-name = "VDD33_LCD";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo10_reg: LDO10 {
+				regulator-name = "VDD18_MIPI";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo11_reg: LDO11 {
+				regulator-name = "VDD18_ABB1";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo12_reg: LDO12 {
+				regulator-name = "VDD33_UOTG";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo13_reg: LDO13 {
+				regulator-name = "VDDIOPERI_18";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo14_reg: LDO14 {
+				regulator-name = "VDD18_ABB02";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo15_reg: LDO15 {
+				regulator-name = "VDD10_USH";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo16_reg: LDO16 {
+				regulator-name = "VDD18_HSIC";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo17_reg: LDO17 {
+				regulator-name = "VDDIOAP_MMC012_28";
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			/* Used by HSIC */
+			ldo18_reg: LDO18 {
+				regulator-name = "VDDIOPERI_28";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo20_reg: LDO20 {
+				regulator-name = "VDD28_CAM";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <2800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo21_reg: LDO21 {
+				regulator-name = "VDD28_AF";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <2800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo22_reg: LDO22 {
+				regulator-name = "VDDA28_2M";
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo23_reg: LDO23 {
+				regulator-name = "VDD28_TF";
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo24_reg: LDO24 {
+				regulator-name = "VDD33_A31";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo25_reg: LDO25 {
+				regulator-name = "VDD18_CAM";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo26_reg: LDO26 {
+				regulator-name = "VDD18_A31";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo27_reg: LDO27 {
+				regulator-name = "GPS_1V8";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			ldo28_reg: LDO28 {
+				regulator-name = "DVDD12";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck1_reg: BUCK1 {
+				regulator-name = "vdd_mif";
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt	= <1100000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck2_reg: BUCK2 {
+				regulator-name = "vdd_arm";
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt	= <1456250>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck3_reg: BUCK3 {
+				regulator-name = "vdd_int";
+				regulator-min-microvolt = <875000>;
+				regulator-max-microvolt	= <1200000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck4_reg: BUCK4 {
+				regulator-name = "vdd_g3d";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck5_reg: BUCK5 {
+				regulator-name = "vdd_m12";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck6_reg: BUCK6 {
+				regulator-name = "vdd12_5m";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck7_reg: BUCK7 {
+				regulator-name = "pvdd_buck7";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <2000000>;
+				regulator-boot-on;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck8_reg: BUCK8 {
+				regulator-name = "pvdd_buck8";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
+				op_mode = <1>; /* Normal Mode */
+			};
+
+			buck9_reg: BUCK9 {
+				regulator-name = "vddf28_emmc";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt	= <3000000>;
+				op_mode = <1>; /* Normal Mode */
+			};
+		};
+	};
+};
+
+&pinctrl_1 {
+	hsic_reset: hsic-reset {
+		samsung,pins = "gpm2-4";
+		samsung,pin-function = <1>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <3>;
+	};
+};
+
+&mfc {
+	status = "okay";
+};
+
+&mshc_0 {
+	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
+	pinctrl-names = "default";
+	status = "okay";
+	vmmc-supply = <&buck9_reg>;
+	num-slots = <1>;
+	broken-cd;
+	card-detect-delay = <200>;
+	samsung,dw-mshc-ciu-div = <3>;
+	samsung,dw-mshc-sdr-timing = <2 3>;
+	samsung,dw-mshc-ddr-timing = <1 2>;
+	bus-width = <8>;
+	cap-mmc-highspeed;
+};
+
+&hsotg {
+	vusb_d-supply = <&ldo15_reg>;
+	vusb_a-supply = <&ldo12_reg>;
+};
+
+&rtc {
+	status = "okay";
+	clocks = <&clock CLK_RTC>, <&ap32k>;
+	clock-names = "rtc", "rtc_src";
+};
+
+&watchdog {
+	status = "okay";
+};
+
+&tmu {
+	vtmu-supply = <&ldo16_reg>;
+	status = "okay";
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 2/4] ARM: dts: add TOPEET itop elite based board
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
@ 2016-08-28 11:21                 ` Randy Li
  2016-08-30  7:32                   ` Krzysztof Kozlowski
  2016-08-28 11:21                 ` [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board Randy Li
                                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-28 11:21 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

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        | 148 +++++++++++++++++++++
 3 files changed, 152 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..c7159ac 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.
+  * 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..5688589
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -0,0 +1,148 @@
+/*
+ * 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 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";
+		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 {
+			label = "GPIO Key Home";
+			linux,code = <KEY_HOME>;
+			gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
+		};
+
+		back {
+			label = "GPIO Key Back";
+			linux,code = <KEY_BACK>;
+			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
+		};
+
+		sleep {
+			label = "GPIO Key Sleep";
+			linux,code = <KEY_POWER>;
+			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
+		};
+
+		vol_up {
+			label = "GPIO Key Vol+";
+			linux,code = <KEY_UP>;
+			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
+		};
+
+		vol_down {
+			label = "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";
+	cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>;
+	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 {
+	vdd-supply = <&ldo3_reg>;
+	status = "okay";
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
  2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
  2016-08-28 11:21                 ` [PATCH 2/4] ARM: dts: add TOPEET itop elite based board Randy Li
@ 2016-08-28 11:21                 ` Randy Li
  2016-08-30  7:33                   ` Krzysztof Kozlowski
  2016-08-28 11:21                 ` [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite Randy Li
  2016-08-30  7:04                 ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Krzysztof Kozlowski
  4 siblings, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-28 11:21 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

The is not used for camera, I enabled it just for a colorspace
convertor.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 arch/arm/boot/dts/exynos4412-itop-elite.dts | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
index 5688589..2d11b9a 100644
--- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -82,6 +82,14 @@
 		pinctrl-0 = <&pwm0_out>;
 		pinctrl-names = "default";
 	};
+
+	camera: camera {
+		pinctrl-0 = <&cam_port_a_clk_active>;
+		pinctrl-names = "default";
+		status = "okay";
+		assigned-clocks = <&clock CLK_MOUT_CAM0>;
+		assigned-clock-parents = <&clock CLK_XUSBXTI>;
+	};
 };
 
 &pinctrl_1 {
@@ -146,3 +154,11 @@
 	vdd-supply = <&ldo3_reg>;
 	status = "okay";
 };
+
+&fimc_0 {
+	status = "okay";
+	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
+			<&clock CLK_SCLK_FIMC0>;
+	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
+	assigned-clock-rates = <0>, <176000000>;
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
                                   ` (2 preceding siblings ...)
  2016-08-28 11:21                 ` [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board Randy Li
@ 2016-08-28 11:21                 ` Randy Li
  2016-08-30  7:35                   ` Krzysztof Kozlowski
  2016-08-30  7:04                 ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Krzysztof Kozlowski
  4 siblings, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-28 11:21 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

Enable the WM8960 analog audio codec on TOPEET iTop 4412 Elite board.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 arch/arm/boot/dts/exynos4412-itop-elite.dts | 77 +++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
index 2d11b9a..e1cda54 100644
--- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -15,6 +15,7 @@
 
 /dts-v1/;
 #include "exynos4412-itop-scp-core.dtsi"
+#include <dt-bindings/sound/samsung-i2s.h>
 
 / {
 	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
@@ -75,6 +76,54 @@
 			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "wm-sound";
+
+		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+				<&clock_audss EXYNOS_MOUT_I2S>,
+				<&clock_audss EXYNOS_DOUT_SRP>,
+				<&clock_audss EXYNOS_DOUT_AUD_BUS>;
+		assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
+				<&clock_audss EXYNOS_MOUT_AUDSS>;
+		assigned-clock-rates = <0>,
+				<0>,
+				<112896000>,
+				<11289600>;
+
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&link0_codec>;
+		simple-audio-card,frame-master = <&link0_codec>;
+
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Speaker", "Speaker",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"Headphone Jack", "HP_L",
+			"Headphone Jack", "HP_R",
+			"Speaker", "SPK_LP",
+			"Speaker", "SPK_LN",
+			"Speaker", "SPK_RP",
+			"Speaker", "SPK_RN",
+			"LINPUT1", "Mic Jack",
+			"LINPUT3", "Mic Jack",
+			"RINPUT1", "Mic Jack",
+			"RINPUT2", "Mic Jack";
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s0 0>;
+		};
+
+		link0_codec: simple-audio-card,codec {
+			sound-dai = <&codec>;
+			clocks = <&i2s0 CLK_I2S_CDCLK>;
+			system-clock-frequency = <11289600>;
+		};
+	};
 	
 	beep {
 		compatible = "pwm-beeper";
@@ -143,6 +192,34 @@
 	status = "okay";
 };
 
+&i2c_4 {
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-slave-addr = <0x10>;
+	samsung,i2c-max-bus-freq = <100000>;
+	pinctrl-0 = <&i2c4_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	codec: wm8960@1a {
+		compatible = "wlf,wm8960";
+		reg = <0x1a>;
+		clocks = <&pmu_system_controller 0>;
+		clock-names = "MCLK1";
+		wlf,shared-lrclk;
+		#sound-dai-cells = <0>;
+	};
+};
+
+&i2s0 {
+	pinctrl-0 = <&i2s0_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+	clocks = <&clock_audss EXYNOS_I2S_BUS>,
+		 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
+		 <&clock_audss EXYNOS_SCLK_I2S>;
+	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
+};
+
 &pwm {
 	pinctrl-0 = <&pwm1_out>;
 	pinctrl-names = "default";
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
@ 2016-08-28 21:13                   ` Rask Ingemann Lambertsen
  2016-08-30  7:16                   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 35+ messages in thread
From: Rask Ingemann Lambertsen @ 2016-08-28 21:13 UTC (permalink / raw)
  To: Randy Li
  Cc: devicetree, mark.rutland, linux-samsung-soc, linux, krzk,
	linux-kernel, kgene, linux-arm-kernel

On Sun, Aug 28, 2016 at 07:21:06PM +0800, Randy Li wrote:

> +	s5m8767: s5m8767_pmic@66 {
> +		compatible = "samsung,s5m8767-pmic";
> +		reg = <0x66>;

You shouldn't use underscores in node names.
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html

-- 
Rask Ingemann Lambertsen

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412
  2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
                                   ` (3 preceding siblings ...)
  2016-08-28 11:21                 ` [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite Randy Li
@ 2016-08-30  7:04                 ` Krzysztof Kozlowski
  4 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-30  7:04 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: mark.rutland, linux, kgene, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, robh

On 08/28/2016 01:21 PM, Randy Li wrote:
> The added the audio codec seems work now, but the audio sounds
> still a little different to the original. But I didn't hear the sound
> in the Android, I don't know whether it is qualified.
> 
> Also it lacks of full pinctrl for the sleep state.
> 
> Changelog:
>  - v3:
>    - fixing the rtc clock, using clock source from PMIC
>    - enable the tmu
>    - enable the fimc for elite board
>    - suuport the audio codec at elite board
>    - fixing minor bugs in the last commit
>  - v2:
>    - removing rtc node
>      the clock source driver is not done yet.
>    - adding exynos-bus
>    - fixing the MFC

The way you send emails is really messed up.
1. The v3 in "PATCH v3" should be present in all patches. Use -v3 for
format-patch.

2. Don't reply-in-to old thread. All your new patches are now under old
ones. They have same subject so this is highly confusing. I don't have a
clue which is a new one.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
  2016-08-28 21:13                   ` Rask Ingemann Lambertsen
@ 2016-08-30  7:16                   ` Krzysztof Kozlowski
  2016-08-31 12:58                     ` [RESEND PATCH 1/3] " Randy Li
  1 sibling, 1 reply; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-30  7:16 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: mark.rutland, linux, kgene, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, robh

On 08/28/2016 01:21 PM, Randy Li wrote:
> The TOPEET itop is a samsung exnynos 4412 core board, which have
> two package versions. This patch add the support for SCP version.
> 
> Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and
> PMIC. The future features are in the based board. Also MFC and
> watchdog have been enabled.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 489 ++++++++++++++++++++++++
>  1 file changed, 489 insertions(+)
>  create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> 
> diff --git a/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> new file mode 100644
> index 0000000..ce5076c
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> @@ -0,0 +1,489 @@
> +/*
> + * TOPEET's Exynos4412 based itop board device tree source
> + *
> + * Copyright (c) 2016 SUMOMO Computer Association
> + *			https://www.sumomo.mobi
> + *			Randy Li <ayaka@soulik.info>
> + *			
> + * Device tree source file for TOPEET iTop Exynos 4412 SCP package core 
> + * board which is based on Samsung's Exynos4412 SoC.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +#include "exynos4412.dtsi"
> +#include "exynos4412-ppmu-common.dtsi"
> +#include "exynos-mfc-reserved-memory.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>

First system-wide includes, then local ones.

> +
> +/ {
> +	memory {
> +		reg = <0x40000000 0x40000000>;
> +	};
> +
> +	firmware@0203F000 {
> +		compatible = "samsung,secure-firmware";
> +		reg = <0x0203F000 0x1000>;
> +	};
> +
> +	fixed-rate-clocks {
> +		xxti {
> +			compatible = "samsung,clock-xxti";
> +			clock-frequency = <0>;
> +		};
> +
> +		xusbxti {
> +			compatible = "samsung,clock-xusbxti";
> +			clock-frequency = <24000000>;
> +		};
> +
> +		/* Clock from S5M8767A AP32K */
> +		ap32k: xrtcxti {
> +			compatible = "fixed-clock";
> +			#clock-cells = <0>;
> +			clock-frequency = <32768000>;

1. 32 MHz? Usually it is 32 kHz... Did you test these DTS?
2. Please use existing S5M8767 driver.


> +		};
> +	};
> +
> +	thermal-zones {
> +		cpu_thermal: cpu-thermal {
> +			cooling-maps {
> +				map0 {
> +				     /* Corresponds to 800MHz at freq_table */
> +				     cooling-device = <&cpu0 7 7>;
> +				};
> +				map1 {
> +				     /* Corresponds to 200MHz at freq_table */
> +				     cooling-device = <&cpu0 13 13>;
> +			       };
> +		       };
> +		};
> +	};
> +
> +	usb-hub {

> +		compatible = "smsc,usb3503a";

Floating USB hub? Isn't it connected to SoC through I2C?

> +		reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
> +		connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
> +		intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&hsic_reset>;
> +	};
> +};
> +
> +&bus_dmc {
> +	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
> +	vdd-supply = <&buck1_reg>;
> +	status = "okay";
> +};
> +
> +&bus_acp {
> +        devfreq = <&bus_dmc>;
> +        status = "okay";
> +};
> +
> +&bus_c2c {
> +        devfreq = <&bus_dmc>;
> +        status = "okay";
> +};
> +
> +&bus_leftbus {
> +        devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
> +        vdd-supply = <&buck3_reg>;
> +        status = "okay";
> +};
> +
> +&bus_rightbus {
> +        devfreq = <&bus_leftbus>;
> +        status = "okay";
> +};
> +
> +&bus_fsys {
> +        devfreq = <&bus_leftbus>;
> +        status = "okay";
> +};
> +
> +&bus_peri {
> +        devfreq = <&bus_leftbus>;
> +        status = "okay";
> +};
> +
> +&bus_mfc {
> +        devfreq = <&bus_leftbus>;
> +        status = "okay";
> +};
> +
> +&cpu0 {
> +	cpu0-supply = <&buck2_reg>;
> +};
> +
> +&i2c_1 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	samsung,i2c-sda-delay = <100>;
> +	samsung,i2c-max-bus-freq = <400000>;
> +	pinctrl-0 = <&i2c1_bus>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	s5m8767: s5m8767_pmic@66 {
> +		compatible = "samsung,s5m8767-pmic";
> +		reg = <0x66>;
> +
> +		s5m8767,pmic-buck-default-dvs-idx = <3>;
> +
> +		s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>,
> +						 <&gpb 6 GPIO_ACTIVE_HIGH>,
> +						 <&gpb 7 GPIO_ACTIVE_HIGH>;
> +
> +		s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
> +						<&gpm3 6 GPIO_ACTIVE_HIGH>,
> +						<&gpm3 7 GPIO_ACTIVE_HIGH>;
> +
> +		/* VDD_ARM */
> +		s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>,
> +						 <1243750>, <1118750>,
> +						 <1068750>, <1012500>,
> +						 <956250>, <900000>;
> +		/* VDD_INT */
> +		s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>,
> +						 <925000>, <925000>,
> +						 <887500>, <887500>,
> +						 <850000>, <850000>;
> +		/* VDD_G3D */
> +		s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>,
> +						 <1025000>, <950000>,
> +						 <918750>, <900000>,
> +						 <875000>, <831250>;
> +
> +		regulators {
> +			ldo1_reg: LDO1 {
> +				regulator-name = "VDD_ALIVE";
> +				regulator-min-microvolt = <1100000>;
> +				regulator-max-microvolt = <1100000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			/* SCP uses 1.5v, POP uses 1.2v */
> +			ldo2_reg: LDO2 {
> +				regulator-name = "VDDQ_M12";
> +				regulator-min-microvolt = <1500000>;
> +				regulator-max-microvolt = <1500000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo3_reg: LDO3 {
> +				regulator-name = "VDDIOAP_18";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo4_reg: LDO4 {
> +				regulator-name = "VDDQ_PRE";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo6_reg: LDO6 {
> +				regulator-name = "VDD10_MPLL";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo7_reg: LDO7 {
> +				regulator-name = "VDD10_XPLL";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo8_reg: LDO8 {
> +				regulator-name = "VDD10_MIPI";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo9_reg: LDO9 {
> +				regulator-name = "VDD33_LCD";
> +				regulator-min-microvolt = <3300000>;
> +				regulator-max-microvolt = <3300000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo10_reg: LDO10 {
> +				regulator-name = "VDD18_MIPI";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo11_reg: LDO11 {
> +				regulator-name = "VDD18_ABB1";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo12_reg: LDO12 {
> +				regulator-name = "VDD33_UOTG";
> +				regulator-min-microvolt = <3300000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo13_reg: LDO13 {
> +				regulator-name = "VDDIOPERI_18";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo14_reg: LDO14 {
> +				regulator-name = "VDD18_ABB02";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo15_reg: LDO15 {
> +				regulator-name = "VDD10_USH";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo16_reg: LDO16 {
> +				regulator-name = "VDD18_HSIC";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo17_reg: LDO17 {
> +				regulator-name = "VDDIOAP_MMC012_28";
> +				regulator-min-microvolt = <2800000>;
> +				regulator-max-microvolt = <2800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			/* Used by HSIC */
> +			ldo18_reg: LDO18 {
> +				regulator-name = "VDDIOPERI_28";
> +				regulator-min-microvolt = <3300000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo20_reg: LDO20 {
> +				regulator-name = "VDD28_CAM";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <2800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo21_reg: LDO21 {
> +				regulator-name = "VDD28_AF";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <2800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo22_reg: LDO22 {
> +				regulator-name = "VDDA28_2M";
> +				regulator-min-microvolt = <2800000>;
> +				regulator-max-microvolt = <2800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo23_reg: LDO23 {
> +				regulator-name = "VDD28_TF";
> +				regulator-min-microvolt = <2800000>;
> +				regulator-max-microvolt = <2800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo24_reg: LDO24 {
> +				regulator-name = "VDD33_A31";
> +				regulator-min-microvolt = <3300000>;
> +				regulator-max-microvolt = <3300000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo25_reg: LDO25 {
> +				regulator-name = "VDD18_CAM";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo26_reg: LDO26 {
> +				regulator-name = "VDD18_A31";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo27_reg: LDO27 {
> +				regulator-name = "GPS_1V8";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			ldo28_reg: LDO28 {
> +				regulator-name = "DVDD12";
> +				regulator-min-microvolt = <1200000>;
> +				regulator-max-microvolt = <1200000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck1_reg: BUCK1 {
> +				regulator-name = "vdd_mif";
> +				regulator-min-microvolt = <850000>;
> +				regulator-max-microvolt	= <1100000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck2_reg: BUCK2 {
> +				regulator-name = "vdd_arm";
> +				regulator-min-microvolt = <850000>;
> +				regulator-max-microvolt	= <1456250>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck3_reg: BUCK3 {
> +				regulator-name = "vdd_int";
> +				regulator-min-microvolt = <875000>;
> +				regulator-max-microvolt	= <1200000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck4_reg: BUCK4 {
> +				regulator-name = "vdd_g3d";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <1500000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck5_reg: BUCK5 {
> +				regulator-name = "vdd_m12";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <1500000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck6_reg: BUCK6 {
> +				regulator-name = "vdd12_5m";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <1500000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck7_reg: BUCK7 {
> +				regulator-name = "pvdd_buck7";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <2000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck8_reg: BUCK8 {
> +				regulator-name = "pvdd_buck8";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <1500000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +
> +			buck9_reg: BUCK9 {
> +				regulator-name = "vddf28_emmc";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt	= <3000000>;
> +				op_mode = <1>; /* Normal Mode */
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl_1 {

Please put it in alphabetical order.

> +	hsic_reset: hsic-reset {
> +		samsung,pins = "gpm2-4";
> +		samsung,pin-function = <1>;
> +		samsung,pin-pud = <0>;
> +		samsung,pin-drv = <3>;
> +	};
> +};
> +
> +&mfc {
> +	status = "okay";
> +};
> +
> +&mshc_0 {
> +	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +	vmmc-supply = <&buck9_reg>;
> +	num-slots = <1>;
> +	broken-cd;
> +	card-detect-delay = <200>;
> +	samsung,dw-mshc-ciu-div = <3>;
> +	samsung,dw-mshc-sdr-timing = <2 3>;
> +	samsung,dw-mshc-ddr-timing = <1 2>;
> +	bus-width = <8>;
> +	cap-mmc-highspeed;
> +};
> +
> +&hsotg {

Please put it in alphabetical order.

> +	vusb_d-supply = <&ldo15_reg>;
> +	vusb_a-supply = <&ldo12_reg>;
> +};
> +
> +&rtc {
> +	status = "okay";
> +	clocks = <&clock CLK_RTC>, <&ap32k>;

Use S5M8767/S2MPS bindings for AP clock.

> +	clock-names = "rtc", "rtc_src";
> +};
> +
> +&watchdog {

Please put it in alphabetical order.

Best regards,
Krzysztof

> +	status = "okay";
> +};
> +
> +&tmu {
> +	vtmu-supply = <&ldo16_reg>;
> +	status = "okay";
> +};
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/4] ARM: dts: add TOPEET itop elite based board
  2016-08-28 11:21                 ` [PATCH 2/4] ARM: dts: add TOPEET itop elite based board Randy Li
@ 2016-08-30  7:32                   ` Krzysztof Kozlowski
  2016-08-31 12:59                     ` [RESEND PATCH 2/3] " Randy Li
  0 siblings, 1 reply; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-30  7:32 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: mark.rutland, linux, kgene, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, robh

On 08/28/2016 01:21 PM, 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        | 148 +++++++++++++++++++++
>  3 files changed, 152 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..c7159ac 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.
> +  * 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..5688589
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -0,0 +1,148 @@
> +/*
> + * 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 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";

Missing space after =

> +		stdout-path = &serial_2;

Instead of "console=xxxx", put everything here: "serial2:115200n8".

> +	};
> +	
> +	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 {
> +			label = "GPIO Key Home";
> +			linux,code = <KEY_HOME>;
> +			gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		back {
> +			label = "GPIO Key Back";
> +			linux,code = <KEY_BACK>;
> +			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		sleep {
> +			label = "GPIO Key Sleep";
> +			linux,code = <KEY_POWER>;
> +			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		vol_up {

No underscores. Add a name of class to the node names for all keys. Like
"key-home", "key-back".

> +			label = "GPIO Key Vol+";
> +			linux,code = <KEY_UP>;
> +			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		vol_down {
> +			label = "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";
> +	cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>;
> +	cap-sd-highspeed;
> +	vmmc-supply = <&ldo23_reg>;
> +	vqmmc-supply = <&ldo17_reg>;
> +	status = "okay";
> +};
> +
> +&ehci {

Alphabetical order.

> +	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 {

ditto

> +	status = "okay";
> +};
> +
> +&hsotg {

ditto

> +	dr_mode = "peripheral";
> +	status = "okay";
> +};
> +
> +&serial_1 {
> +	status = "okay";
> +};
> +
> +&serial_2 {
> +	status = "okay";
> +};
> +
> +&pwm {

ditto

> +	pinctrl-0 = <&pwm1_out>;
> +	pinctrl-names = "default";
> +	samsung,pwm-outputs = <1>;
> +	status = "okay";
> +};
> +
> +&adc {

ditto

Best regards,
Krzysztof
> +	vdd-supply = <&ldo3_reg>;
> +	status = "okay";
> +};
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board
  2016-08-28 11:21                 ` [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board Randy Li
@ 2016-08-30  7:33                   ` Krzysztof Kozlowski
  2016-08-31 13:00                     ` [PATCH 3/3 v3] devicetree: bindings: Add vendor prefix for Topeet Randy Li
  0 siblings, 1 reply; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-30  7:33 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: mark.rutland, linux, kgene, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, robh

On 08/28/2016 01:21 PM, Randy Li wrote:
> The is not used for camera, I enabled it just for a colorspace
> convertor.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos4412-itop-elite.dts | 16 ++++++++++++++++

This should be squashed with patch #2.

BTW, please add also vendor prefix
(Documentation/devicetree/bindings/vendor-prefixes.txt).

Best regards,
Krzysztof

>  1 file changed, 16 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> index 5688589..2d11b9a 100644
> --- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -82,6 +82,14 @@
>  		pinctrl-0 = <&pwm0_out>;
>  		pinctrl-names = "default";
>  	};
> +
> +	camera: camera {
> +		pinctrl-0 = <&cam_port_a_clk_active>;
> +		pinctrl-names = "default";
> +		status = "okay";
> +		assigned-clocks = <&clock CLK_MOUT_CAM0>;
> +		assigned-clock-parents = <&clock CLK_XUSBXTI>;
> +	};
>  };
>  
>  &pinctrl_1 {
> @@ -146,3 +154,11 @@
>  	vdd-supply = <&ldo3_reg>;
>  	status = "okay";
>  };
> +
> +&fimc_0 {
> +	status = "okay";
> +	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
> +			<&clock CLK_SCLK_FIMC0>;
> +	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
> +	assigned-clock-rates = <0>, <176000000>;
> +};
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite
  2016-08-28 11:21                 ` [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite Randy Li
@ 2016-08-30  7:35                   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-30  7:35 UTC (permalink / raw)
  To: Randy Li, devicetree
  Cc: mark.rutland, linux, kgene, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, robh

On 08/28/2016 01:21 PM, Randy Li wrote:
> Enable the WM8960 analog audio codec on TOPEET iTop 4412 Elite board.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos4412-itop-elite.dts | 77 +++++++++++++++++++++++++++++
>  1 file changed, 77 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> index 2d11b9a..e1cda54 100644
> --- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -15,6 +15,7 @@
>  
>  /dts-v1/;
>  #include "exynos4412-itop-scp-core.dtsi"
> +#include <dt-bindings/sound/samsung-i2s.h>

Reverse the includes and squash the patch with #2.

Best regards,
Krzysztof

>  
>  / {
>  	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
> @@ -75,6 +76,54 @@
>  			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
>  		};
>  	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "wm-sound";
> +
> +		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
> +				<&clock_audss EXYNOS_MOUT_I2S>,
> +				<&clock_audss EXYNOS_DOUT_SRP>,
> +				<&clock_audss EXYNOS_DOUT_AUD_BUS>;
> +		assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
> +				<&clock_audss EXYNOS_MOUT_AUDSS>;
> +		assigned-clock-rates = <0>,
> +				<0>,
> +				<112896000>,
> +				<11289600>;
> +
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&link0_codec>;
> +		simple-audio-card,frame-master = <&link0_codec>;
> +
> +		simple-audio-card,widgets =
> +			"Microphone", "Mic Jack",
> +			"Line", "Line In",
> +			"Line", "Line Out",
> +			"Speaker", "Speaker",
> +			"Headphone", "Headphone Jack";
> +		simple-audio-card,routing =
> +			"Headphone Jack", "HP_L",
> +			"Headphone Jack", "HP_R",
> +			"Speaker", "SPK_LP",
> +			"Speaker", "SPK_LN",
> +			"Speaker", "SPK_RP",
> +			"Speaker", "SPK_RN",
> +			"LINPUT1", "Mic Jack",
> +			"LINPUT3", "Mic Jack",
> +			"RINPUT1", "Mic Jack",
> +			"RINPUT2", "Mic Jack";
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&i2s0 0>;
> +		};
> +
> +		link0_codec: simple-audio-card,codec {
> +			sound-dai = <&codec>;
> +			clocks = <&i2s0 CLK_I2S_CDCLK>;
> +			system-clock-frequency = <11289600>;
> +		};
> +	};
>  	
>  	beep {
>  		compatible = "pwm-beeper";
> @@ -143,6 +192,34 @@
>  	status = "okay";
>  };
>  
> +&i2c_4 {
> +	samsung,i2c-sda-delay = <100>;
> +	samsung,i2c-slave-addr = <0x10>;
> +	samsung,i2c-max-bus-freq = <100000>;
> +	pinctrl-0 = <&i2c4_bus>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	codec: wm8960@1a {
> +		compatible = "wlf,wm8960";
> +		reg = <0x1a>;
> +		clocks = <&pmu_system_controller 0>;
> +		clock-names = "MCLK1";
> +		wlf,shared-lrclk;
> +		#sound-dai-cells = <0>;
> +	};
> +};
> +
> +&i2s0 {
> +	pinctrl-0 = <&i2s0_bus>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +	clocks = <&clock_audss EXYNOS_I2S_BUS>,
> +		 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
> +		 <&clock_audss EXYNOS_SCLK_I2S>;
> +	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
> +};
> +
>  &pwm {
>  	pinctrl-0 = <&pwm1_out>;
>  	pinctrl-names = "default";
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [RESEND PATCH 1/3] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-30  7:16                   ` Krzysztof Kozlowski
@ 2016-08-31 12:58                     ` Randy Li
  2016-08-31 18:42                       ` Krzysztof Kozlowski
  2016-09-01 13:03                       ` Bartlomiej Zolnierkiewicz
  0 siblings, 2 replies; 35+ messages in thread
From: Randy Li @ 2016-08-31 12:58 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

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 | 490 ++++++++++++++++++++++++
 1 file changed, 490 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..9c02b16
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
@@ -0,0 +1,490 @@
+/*
+ * 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/samsung,s2mps11.h>
+#include "exynos4412.dtsi"
+#include "exynos4412-ppmu-common.dtsi"
+#include "exynos-mfc-reserved-memory.dtsi"
+
+/ {
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};
+
+	firmware@0203F000 {
+		compatible = "samsung,secure-firmware";
+		reg = <0x0203F000 0x1000>;
+	};
+
+	fixed-rate-clocks {
+		xxti {
+			compatible = "samsung,clock-xxti";
+			clock-frequency = <0>;
+		};
+
+		xusbxti {
+			compatible = "samsung,clock-xusbxti";
+			clock-frequency = <24000000>;
+		};
+	};
+
+	thermal-zones {
+		cpu_thermal: cpu-thermal {
+			cooling-maps {
+				map0 {
+				     /* Corresponds to 800MHz at freq_table */
+				     cooling-device = <&cpu0 7 7>;
+				};
+				map1 {
+				     /* Corresponds to 200MHz at freq_table */
+				     cooling-device = <&cpu0 13 13>;
+			       };
+		       };
+		};
+	};
+
+	usb-hub {
+		compatible = "smsc,usb3503a";
+		reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
+		connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
+		intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&hsic_reset>;
+	};
+};
+
+&bus_dmc {
+	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
+	vdd-supply = <&buck1_reg>;
+	status = "okay";
+};
+
+&bus_acp {
+        devfreq = <&bus_dmc>;
+        status = "okay";
+};
+
+&bus_c2c {
+        devfreq = <&bus_dmc>;
+        status = "okay";
+};
+
+&bus_leftbus {
+        devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
+        vdd-supply = <&buck3_reg>;
+        status = "okay";
+};
+
+&bus_rightbus {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_fsys {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_peri {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&bus_mfc {
+        devfreq = <&bus_leftbus>;
+        status = "okay";
+};
+
+&cpu0 {
+	cpu0-supply = <&buck2_reg>;
+};
+
+&hsotg {
+	vusb_d-supply = <&ldo15_reg>;
+	vusb_a-supply = <&ldo12_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 */
+			};
+		};
+
+		s5m8767_osc: clocks {
+			#clock-cells = <1>;
+			clock-output-names = "s5m8767_ap",
+					"s5m8767_cp", "s5m8767_bt";
+		};
+
+	};
+};
+
+&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;
+};
+
+&pinctrl_1 {
+	hsic_reset: hsic-reset {
+		samsung,pins = "gpm2-4";
+		samsung,pin-function = <1>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <3>;
+	};
+};
+
+&rtc {
+	status = "okay";
+	clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
+	clock-names = "rtc", "rtc_src";
+};
+
+&tmu {
+	vtmu-supply = <&ldo16_reg>;
+	status = "okay";
+};
+
+&watchdog {
+	status = "okay";
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [RESEND PATCH 2/3] ARM: dts: add TOPEET itop elite based board
  2016-08-30  7:32                   ` Krzysztof Kozlowski
@ 2016-08-31 12:59                     ` Randy Li
  2016-09-01 13:07                       ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 35+ messages in thread
From: Randy Li @ 2016-08-31 12:59 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

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. The WM8960 analog audio codec is also
enabled.

The FIMC is not used for camera currently, I enabled it just for a
colorspace convertor.

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        | 241 +++++++++++++++++++++
 3 files changed, 245 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..c7159ac 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.
+  * 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 19d042a..b04b4f3 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..3679494
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -0,0 +1,241 @@
+/*
+ * 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 <dt-bindings/sound/samsung-i2s.h>
+#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 = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";
+		stdout-path = "serial2:115200n8";
+	};
+	
+	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 {
+			label = "GPIO Key Home";
+			linux,code = <KEY_HOME>;
+			gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
+		};
+
+		back {
+			label = "GPIO Key Back";
+			linux,code = <KEY_BACK>;
+			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
+		};
+
+		sleep {
+			label = "GPIO Key Sleep";
+			linux,code = <KEY_POWER>;
+			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
+		};
+
+		vol-up {
+			label = "GPIO Key Vol+";
+			linux,code = <KEY_UP>;
+			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
+		};
+
+		vol-down {
+			label = "GPIO Key Vol-";
+			linux,code = <KEY_DOWN>;
+			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "wm-sound";
+
+		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+				<&clock_audss EXYNOS_MOUT_I2S>,
+				<&clock_audss EXYNOS_DOUT_SRP>,
+				<&clock_audss EXYNOS_DOUT_AUD_BUS>;
+		assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
+				<&clock_audss EXYNOS_MOUT_AUDSS>;
+		assigned-clock-rates = <0>,
+				<0>,
+				<112896000>,
+				<11289600>;
+
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&link0_codec>;
+		simple-audio-card,frame-master = <&link0_codec>;
+
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Speaker", "Speaker",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"Headphone Jack", "HP_L",
+			"Headphone Jack", "HP_R",
+			"Speaker", "SPK_LP",
+			"Speaker", "SPK_LN",
+			"Speaker", "SPK_RP",
+			"Speaker", "SPK_RN",
+			"LINPUT1", "Mic Jack",
+			"LINPUT3", "Mic Jack",
+			"RINPUT1", "Mic Jack",
+			"RINPUT2", "Mic Jack";
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s0 0>;
+		};
+
+		link0_codec: simple-audio-card,codec {
+			sound-dai = <&codec>;
+			clocks = <&i2s0 CLK_I2S_CDCLK>;
+			system-clock-frequency = <11289600>;
+		};
+	};
+	
+	beep {
+		compatible = "pwm-beeper";
+		pwms = <&pwm>;
+		pinctrl-0 = <&pwm0_out>;
+		pinctrl-names = "default";
+	};
+
+	camera: camera {
+		pinctrl-0 = <&cam_port_a_clk_active>;
+		pinctrl-names = "default";
+		status = "okay";
+		assigned-clocks = <&clock CLK_MOUT_CAM0>;
+		assigned-clock-parents = <&clock CLK_XUSBXTI>;
+	};
+};
+
+&adc {
+	vdd-supply = <&ldo3_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";
+};
+
+&fimc_0 {
+	status = "okay";
+	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
+			<&clock CLK_SCLK_FIMC0>;
+	assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
+	assigned-clock-rates = <0>, <176000000>;
+};
+
+&hsotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&i2c_4 {
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-slave-addr = <0x10>;
+	samsung,i2c-max-bus-freq = <100000>;
+	pinctrl-0 = <&i2c4_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	codec: wm8960@1a {
+		compatible = "wlf,wm8960";
+		reg = <0x1a>;
+		clocks = <&pmu_system_controller 0>;
+		clock-names = "MCLK1";
+		wlf,shared-lrclk;
+		#sound-dai-cells = <0>;
+	};
+};
+
+&i2s0 {
+	pinctrl-0 = <&i2s0_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+	clocks = <&clock_audss EXYNOS_I2S_BUS>,
+		 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
+		 <&clock_audss EXYNOS_SCLK_I2S>;
+	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
+};
+
+&pinctrl_1 {
+	ether-reset {
+		samsung,pins = "gpc0-1";
+		samsung,pin-function = <1>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <0>;
+	};
+};
+
+&pwm {
+	pinctrl-0 = <&pwm1_out>;
+	pinctrl-names = "default";
+	samsung,pwm-outputs = <1>;
+	status = "okay";
+};
+
+&sdhci_2 {
+	bus-width = <4>;
+	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
+	pinctrl-names = "default";
+	cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>;
+	cap-sd-highspeed;
+	vmmc-supply = <&ldo23_reg>;
+	vqmmc-supply = <&ldo17_reg>;
+	status = "okay";
+};
+
+&serial_1 {
+	status = "okay";
+};
+
+&serial_2 {
+	status = "okay";
+};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 3/3 v3] devicetree: bindings: Add vendor prefix for Topeet.
  2016-08-30  7:33                   ` Krzysztof Kozlowski
@ 2016-08-31 13:00                     ` Randy Li
  0 siblings, 0 replies; 35+ messages in thread
From: Randy Li @ 2016-08-31 13:00 UTC (permalink / raw)
  To: devicetree
  Cc: mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh, Randy Li

Add TOPEET, a ARM devlopment board vendor in China mainland.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 0d9d4d8..1e28cfd 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -266,6 +266,7 @@ technologic	Technologic Systems
 thine	THine Electronics, Inc.
 ti	Texas Instruments
 tlm	Trusted Logic Mobility
+topeet  Topeet
 toradex	Toradex AG
 toshiba	Toshiba Corporation
 toumaz	Toumaz
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [RESEND PATCH 1/3] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-31 12:58                     ` [RESEND PATCH 1/3] " Randy Li
@ 2016-08-31 18:42                       ` Krzysztof Kozlowski
  2016-08-31 19:49                         ` Ayaka
  2016-09-01 13:03                       ` Bartlomiej Zolnierkiewicz
  1 sibling, 1 reply; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-08-31 18:42 UTC (permalink / raw)
  To: Randy Li
  Cc: devicetree, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh

On Wed, Aug 31, 2016 at 08:58:27PM +0800, 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 | 490 ++++++++++++++++++++++++
>  1 file changed, 490 insertions(+)
>  create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi

You are not making the review process easier... I asked for:
1. Not chaining the consecutive versions of patchset to the previous
ones. But now you removed chain replies totally (also from patches).
2. Versioning all patches.... but this is a resend of v1?

The changelog and cover letters disappeared...

Please, make it simple:
[PATCH v5 0/3] ARM: dts: exynos: some cover letter etc etc
  \---[PATCH v5 1/3] ARM: dts: exynos: Add TOPEET itop core board SCP
  \---[PATCH v5 2/3] ARM: dts: exynos: something more
  \---[PATCH v5 3/3] ARM: dts: exynos: something even more

git format-patch and git send-email do this by default. In every
sensible mail program this looks like that and is easy to read.

I don't have a clue what happened to these patches and what is current
status...

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [RESEND PATCH 1/3] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-31 18:42                       ` Krzysztof Kozlowski
@ 2016-08-31 19:49                         ` Ayaka
  0 siblings, 0 replies; 35+ messages in thread
From: Ayaka @ 2016-08-31 19:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: devicetree, mark.rutland, linux, kgene, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh



從我的 iPad 傳送

> Krzysztof Kozlowski <krzk@kernel.org> 於 2016年9月1日 上午2:42 寫道:
> 
>> On Wed, Aug 31, 2016 at 08:58:27PM +0800, 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 | 490 ++++++++++++++++++++++++
>> 1 file changed, 490 insertions(+)
>> create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> 
> You are not making the review process easier... I asked for:
> 1. Not chaining the consecutive versions of patchset to the previous
> ones. But now you removed chain replies totally (also from patches).
> 2. Versioning all patches.... but this is a resend of v1?
> 
> The changelog and cover letters disappeared...
> 
> Please, make it simple:
> [PATCH v5 0/3] ARM: dts: exynos: some cover letter etc etc
>  \---[PATCH v5 1/3] ARM: dts: exynos: Add TOPEET itop core board SCP
>  \---[PATCH v5 2/3] ARM: dts: exynos: something more
>  \---[PATCH v5 3/3] ARM: dts: exynos: something even more
> 
> git format-patch and git send-email do this by default. In every
> sensible mail program this looks like that and is easy to read.
I see, sir. I misunderstand your order before(English is not my native). And thank you for you patient guide. I would resend in the morning.
> 
> I don't have a clue what happened to these patches and what is current
> status...
> 
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [RESEND PATCH 1/3] ARM: dts: Add TOPEET itop core board SCP package version
  2016-08-31 12:58                     ` [RESEND PATCH 1/3] " Randy Li
  2016-08-31 18:42                       ` Krzysztof Kozlowski
@ 2016-09-01 13:03                       ` Bartlomiej Zolnierkiewicz
  2016-09-01 16:12                         ` Krzysztof Kozlowski
  1 sibling, 1 reply; 35+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2016-09-01 13:03 UTC (permalink / raw)
  To: Randy Li
  Cc: devicetree, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh


Hi,

On Wednesday, August 31, 2016 08:58:27 PM Randy Li wrote:
> The TOPEET itop is a samsung exnynos 4412 core board, which have
> two package versions. This patch add the support for SCP version.
> 
> Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and
> PMIC. The future features are in the based board. Also MFC and
> watchdog have been enabled.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 490 ++++++++++++++++++++++++
>  1 file changed, 490 insertions(+)
>  create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi

[...]

> +		s5m8767_osc: clocks {

Don't you also need:

			compatible = "samsung,s5m8767-clk";

here?

BTW Does anyone know why there are no users of
"samsung,s2mps11-clk" compatible in the tree
(commit 53c31b3437a6400c6ffc2c9315680217ad84cb6d
"mfd: sec-core: Add of_compatible strings for
clock MFD cells" added it in March 2014)?

> +			#clock-cells = <1>;
> +			clock-output-names = "s5m8767_ap",
> +					"s5m8767_cp", "s5m8767_bt";
> +		};
> +
> +	};
> +};

[...]

> +&rtc {
> +	status = "okay";
> +	clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
> +	clock-names = "rtc", "rtc_src";
> +};

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [RESEND PATCH 2/3] ARM: dts: add TOPEET itop elite based board
  2016-08-31 12:59                     ` [RESEND PATCH 2/3] " Randy Li
@ 2016-09-01 13:07                       ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 35+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2016-09-01 13:07 UTC (permalink / raw)
  To: Randy Li
  Cc: devicetree, mark.rutland, linux, kgene, krzk, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, robh


Hi,

On Wednesday, August 31, 2016 08:59:21 PM 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. The WM8960 analog audio codec is also
> enabled.
> 
> The FIMC is not used for camera currently, I enabled it just for a
> colorspace convertor.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>

[...]

> --- 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 \

Minor nit:

Please keep dtb files in alphabetical order.

>  	exynos4412-trats2.dtb
>  dtb-$(CONFIG_ARCH_EXYNOS5) += \
>  	exynos5250-arndale.dtb \

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [RESEND PATCH 1/3] ARM: dts: Add TOPEET itop core board SCP package version
  2016-09-01 13:03                       ` Bartlomiej Zolnierkiewicz
@ 2016-09-01 16:12                         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2016-09-01 16:12 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: Randy Li, devicetree, mark.rutland, linux, kgene, krzk,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, robh

On Thu, Sep 01, 2016 at 03:03:51PM +0200, Bartlomiej Zolnierkiewicz wrote:
> 
> Hi,
> 
> On Wednesday, August 31, 2016 08:58:27 PM Randy Li wrote:
> > The TOPEET itop is a samsung exnynos 4412 core board, which have
> > two package versions. This patch add the support for SCP version.
> > 
> > Currently supported are USB3503A HSIC, USB OTG, eMMC, rtc and
> > PMIC. The future features are in the based board. Also MFC and
> > watchdog have been enabled.
> > 
> > Signed-off-by: Randy Li <ayaka@soulik.info>
> > ---
> >  arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi | 490 ++++++++++++++++++++++++
> >  1 file changed, 490 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
> 
> [...]
> 
> > +		s5m8767_osc: clocks {
> 
> Don't you also need:
> 
> 			compatible = "samsung,s5m8767-clk";
> 
> here?

No specific need... It is confusing but it is the same as with
regulators. The parent MFD driver creates children devices and match
drivers. The children (e.g. clk or regulator driver) look for hard-coded
subnode - clocks/regulators.

The compatible is actually not used in current form.

> BTW Does anyone know why there are no users of
> "samsung,s2mps11-clk" compatible in the tree
> (commit 53c31b3437a6400c6ffc2c9315680217ad84cb6d
> "mfd: sec-core: Add of_compatible strings for
> clock MFD cells" added it in March 2014)?

That is partially my fault. I got convinced by Lee Jones to add
compatibles even there are no users of them. The compatibles could be
added - for Arndale Octa and XU3/XU4. I think the only benefit of that
would be attaching the clock driver to the of_node.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2016-09-01 16:12 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-21 20:04 [PATCH 0/2] Add a new board for exynos 4412 Randy Li
2016-08-21 20:04 ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
2016-08-22  6:50   ` Marek Szyprowski
2016-08-22  8:28     ` Ayaka
2016-08-22 14:45       ` Chanwoo Choi
2016-08-22 14:49         ` ayaka
2016-08-22 14:18     ` [PATCH 0/2 v2] Add a new board TOPEET iTOP for exynos 4412 Randy Li
2016-08-22 14:18       ` [PATCH 1/2] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
2016-08-22 14:18       ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
2016-08-22 18:59         ` kbuild test robot
2016-08-23 18:14         ` Rob Herring
2016-08-23 18:36           ` ayaka
2016-08-23 22:38             ` Rob Herring
2016-08-24  8:29               ` Ayaka
2016-08-28 11:21               ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Randy Li
2016-08-28 11:21                 ` [PATCH 1/4] ARM: dts: Add TOPEET itop core board SCP package version Randy Li
2016-08-28 21:13                   ` Rask Ingemann Lambertsen
2016-08-30  7:16                   ` Krzysztof Kozlowski
2016-08-31 12:58                     ` [RESEND PATCH 1/3] " Randy Li
2016-08-31 18:42                       ` Krzysztof Kozlowski
2016-08-31 19:49                         ` Ayaka
2016-09-01 13:03                       ` Bartlomiej Zolnierkiewicz
2016-09-01 16:12                         ` Krzysztof Kozlowski
2016-08-28 11:21                 ` [PATCH 2/4] ARM: dts: add TOPEET itop elite based board Randy Li
2016-08-30  7:32                   ` Krzysztof Kozlowski
2016-08-31 12:59                     ` [RESEND PATCH 2/3] " Randy Li
2016-09-01 13:07                       ` Bartlomiej Zolnierkiewicz
2016-08-28 11:21                 ` [PATCH 3/4] ARM: dts: add fimc support in exynos4412 TOPEET iTop Elite board Randy Li
2016-08-30  7:33                   ` Krzysztof Kozlowski
2016-08-31 13:00                     ` [PATCH 3/3 v3] devicetree: bindings: Add vendor prefix for Topeet Randy Li
2016-08-28 11:21                 ` [PATCH 4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite Randy Li
2016-08-30  7:35                   ` Krzysztof Kozlowski
2016-08-30  7:04                 ` [PATCH 0/4 v3] Add a new board TOPEET iTOP for exynos 4412 Krzysztof Kozlowski
2016-08-21 20:04 ` [PATCH 2/2] ARM: dts: add TOPEET itop elite based board Randy Li
2016-08-21 20:12   ` [PATCH 2/2 v2] " Randy Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).