Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1463443 > unrolled thread
| Started by | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| First post | 2016-08-16 08:30 +0200 |
| Last post | 2016-08-23 05:00 +0200 |
| Articles | 14 on this page of 34 — 8 participants |
Back to article view | Back to linux.kernel
[PATCH 0/7] arm64: dts: Add the dts file for Exynos5433 and TM/TM2E board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
[PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use generic cpufreq driver Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
Re: [PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use generic cpufreq driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 09:50 +0200
Re: [PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use generic cpufreq driver Viresh Kumar <viresh.kumar@linaro.org> - 2016-08-16 10:50 +0200
[PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Tomasz Figa <tomasz.figa@gmail.com> - 2016-08-16 09:00 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 10:50 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Rob Herring <robh@kernel.org> - 2016-08-19 03:50 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-19 11:10 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Tomasz Figa <tomasz.figa@gmail.com> - 2016-08-19 13:40 +0200
Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-24 15:00 +0200
[PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 09:50 +0200
Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 10:10 +0200
Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 10:20 +0200
Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Rob Herring <robh@kernel.org> - 2016-08-19 04:00 +0200
[PATCH 1/7] clocksource: exynos_mct: Add the support for Exynos 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
[PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:40 +0200
Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-17 08:50 +0200
Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 09:40 +0200
Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board Rob Herring <robh@kernel.org> - 2016-08-19 03:50 +0200
[PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:40 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-17 09:00 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 09:40 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-19 03:10 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Rob Herring <robh@kernel.org> - 2016-08-19 03:30 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-08-19 19:20 +0200
Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board Chanwoo Choi <cwchoi00@gmail.com> - 2016-08-21 09:50 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-08-16 13:00 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 15:10 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 20:00 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 02:50 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Marek Szyprowski <m.szyprowski@samsung.com> - 2016-08-19 13:00 +0200
Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-23 05:00 +0200
Page 2 of 2 — ← Prev page 1 [2]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-08-19 03:50 +0200 |
| Subject | Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E board |
| Message-ID | <s7H6x-7vO-3@gated-at.bofh.it> |
| In reply to | #1463450 |
On Tue, Aug 16, 2016 at 03:35:28PM +0900, Chanwoo Choi wrote: > This patcha adds the Device Tree source for Exynos5433-based Samsung TM2E > board. TM2E board is the most similiar with TM2 board. The exynos5433-tm2e.dts > include the difference between TM2 and TM2E. > > Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> > Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> > Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> > Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> > Signed-off-by: Inki Dae <inki.dae@samsung.com> > Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com> > Signed-off-by: Beomho Seo <beomho.seo@samsung.com> > Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com> > Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com> > Signed-off-by: Inha Song <ideal.song@samsung.com> > Signed-off-by: Ingi kim <ingi2.kim@samsung.com> > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> > Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> > Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> > --- > .../bindings/arm/samsung/samsung-boards.txt | 1 + > arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 41 ++++++++++++++++++++++ > 2 files changed, 42 insertions(+) > create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts Acked-by: Rob Herring <robh@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-16 08:40 +0200 |
| Subject | [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s6Gcy-80i-21@gated-at.bofh.it> |
| In reply to | #1463443 |
This patch adds the Device Tree source for Exynos5433-based Samsung TM2 board.
This board fully support the all things for mobile target.
This patch supports the following devices:
1. basic SoC
- Initial booting for Samsung Exynos5433 SoC
- DRAM LPDDR3 (3GB)
- eMMC (32GB)
- ARM architecture timer
2. power management devices
- Sasmung S2MPS13 PMIC for the power supply
- CPUFREQ for big.LITTLE cores
- TMU for big.LITTLE cores and GPU
- ADC with thermistor to measure the temperature of AP/Battery/Charger
- Maxim MAX77843 Interface PMIC (MUIC/Fuel-gauge/Charger/Haptic/LED/Regulator)
3. sound devices
- I2S for sound bus
- LPASS for sound power control
- Wolfson WM5110 for sound codec
- Maxim MAX98504 for speaker amplifier
- TM2 ASoC Machine device driver node
3. display devices
- DECON, DSI and MIC for the panel output
4. usb devices
- USB 3.0 DRD (Dual Role Device)
- USB 3.0 Host controller
5. storage devices
- MSHC (obile Storae Host Controller) for eMMC device
6. misc devices
- gpio-keys (power, volume up/down, home key)
- PWM (Pulse Width Modulation Timer)
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---
.../bindings/arm/samsung/samsung-boards.txt | 1 +
arch/arm64/boot/dts/exynos/Makefile | 5 +-
arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1003 ++++++++++++++++++++
3 files changed, 1008 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
index 0ea7f14ef294..c704b4bf6137 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
@@ -15,6 +15,7 @@ Required root node properties:
- "samsung,xyref5260" - for Exynos5260-based Samsung board.
- "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
- "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
+ - "samsung,tm2" - for Exynos5333-based Samsung TM2 board.
- "samsung,sd5v1" - for Exynos5440-based Samsung board.
- "samsung,ssdk5440" - for Exynos5440-based Samsung board.
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
index 50c9b9383cfa..7ddea53769a7 100644
--- a/arch/arm64/boot/dts/exynos/Makefile
+++ b/arch/arm64/boot/dts/exynos/Makefile
@@ -1,4 +1,7 @@
-dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
+dtb-$(CONFIG_ARCH_EXYNOS) += \
+ exynos5433-tm2.dtb \
+ exynos5433-tm2e.dtb \
+ exynos7-espresso.dtb
always := $(dtb-y)
subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
new file mode 100644
index 000000000000..3e497b0d0015
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
@@ -0,0 +1,1003 @@
+/*
+ * SAMSUNG Exynos5433 TM2 board device tree source
+ *
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *
+ * Device tree source file for Samsung's TM2 board which is based on
+ * Samsung Exynos5433 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 "exynos5433.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Samsung TM2 board";
+ compatible = "samsung,exynos5433-tm2", "samsung,exynos5433";
+
+ aliases {
+ i2c0 = &hsi2c_0;
+ i2c1 = &hsi2c_1;
+ i2c2 = &hsi2c_2;
+ i2c3 = &hsi2c_3;
+ i2c4 = &hsi2c_4;
+ i2c5 = &hsi2c_5;
+ i2c6 = &hsi2c_6;
+ i2c7 = &hsi2c_7;
+ i2c8 = &hsi2c_8;
+ i2c9 = &hsi2c_9;
+ i2c10 = &hsi2c_10;
+ i2c11 = &hsi2c_11;
+ mshc0 = &mshc_0;
+ mshc1 = &mshc_1;
+ mshc2 = &mshc_2;
+ pinctrl0 = &pinctrl_alive;
+ pinctrl1 = &pinctrl_aud;
+ pinctrl2 = &pinctrl_cpif;
+ pinctrl3 = &pinctrl_ese;
+ pinctrl4 = &pinctrl_finger;
+ pinctrl5 = &pinctrl_fsys;
+ pinctrl6 = &pinctrl_imem;
+ pinctrl7 = &pinctrl_nfc;
+ pinctrl8 = &pinctrl_peric;
+ pinctrl9 = &pinctrl_touch;
+ serial0 = &serial_0;
+ serial1 = &serial_1;
+ serial2 = &serial_2;
+ serial3 = &serial_3;
+ spi0 = &spi_0;
+ spi1 = &spi_1;
+ spi2 = &spi_2;
+ spi3 = &spi_3;
+ spi4 = &spi_4;
+ usbdrdphy0 = &usbdrd30_phy;
+ };
+
+ chosen {
+ stdout-path = &serial_1;
+ };
+
+ memory@20000000 {
+ device_type = "memory";
+ reg = <0x0 0x20000000 0x0 0xc0000000>;
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ power_key {
+ gpios = <&gpa2 7 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+
+ volume_up_key {
+ gpios = <&gpa2 0 1>;
+ linux,code = <KEY_VOLUMEUP>;
+ label = "volume-up key";
+ debounce-interval = <10>;
+ };
+
+ volume_down_key {
+ gpios = <&gpa2 1 1>;
+ linux,code = <KEY_VOLUMEDOWN>;
+ label = "volume-down key";
+ debounce-interval = <10>;
+ };
+
+ homepage_key {
+ gpios = <&gpa0 3 1>;
+ linux,code = <KEY_MENU>;
+ label = "homepage key";
+ debounce-interval = <10>;
+ };
+ };
+
+ i2c_max98504: i2c-gpio-0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
+ &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
+ i2c-gpio,delay-us = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ max98504: max98504@31 {
+ compatible = "maxim,max98504";
+ reg = <0x31>;
+ maxim,rx-path = <1>;
+ maxim,tx-path = <1>;
+ maxim,tx-channel-mask = <3>;
+ maxim,tx-channel-source = <2>;
+ };
+ };
+
+ sound {
+ compatible = "samsung,tm2-audio";
+ audio-codec = <&wm5110>;
+ i2s-controller = <&i2s0>;
+ audio-amplifier = <&max98504>;
+ mic-bias-gpios = <&gpr3 2 0>;
+ model = "wm5110";
+ samsung,audio-routing =
+ /* Headphone */
+ "HP", "HPOUT1L",
+ "HP", "HPOUT1R",
+
+ /* Speaker */
+ "SPK", "SPKOUT",
+ "SPKOUT", "HPOUT2L",
+ "SPKOUT", "HPOUT2R",
+
+ /* Receiver */
+ "RCV", "HPOUT3L",
+ "RCV", "HPOUT3R";
+ status = "okay";
+ };
+};
+
+&adc {
+ vdd-supply = <&ldo3_reg>;
+ status = "okay";
+
+ thermistor-ap {
+ compatible = "ntc,ncp03wf104";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&adc 0>;
+ };
+
+ thermistor_battery: thermistor-battery {
+ compatible = "ntc,ncp03wf104";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&adc 1>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ thermistor-charger {
+ compatible = "ntc,ncp03wf104";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <0>;
+ io-channels = <&adc 2>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&buck3_reg>;
+};
+
+&cpu4 {
+ cpu-supply = <&buck2_reg>;
+};
+
+&decon {
+ status = "okay";
+ iommu-reserved-mapping = <0x20000000 0x20000000 0xc0000000>;
+
+ i80-if-timings {
+ };
+};
+
+&dsi {
+ status = "okay";
+ vddcore-supply = <&ldo6_reg>;
+ vddio-supply = <&ldo7_reg>;
+ samsung,pll-clock-frequency = <24000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&te_irq>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ dsi_out: endpoint {
+ samsung,burst-clock-frequency = <512000000>;
+ samsung,esc-clock-frequency = <16000000>;
+ };
+ };
+ };
+};
+
+&hsi2c_0 {
+ status = "okay";
+ clock-frequency = <2500000>;
+
+ s2mps13_pmic@66 {
+ compatible = "samsung,s2mps13-pmic";
+ interrupt-parent = <&gpa0>;
+ interrupts = <7 0>;
+ reg = <0x66>;
+ wakeup;
+ samsung,s2mps11-wrstbi-ground;
+
+ s2mps13_osc: clocks {
+ compatible = "samsung,s2mps13-clk";
+ #clock-cells = <1>;
+ clock-output-names = "s2mps13_ap", "s2mps13_cp",
+ "s2mps13_bt";
+ };
+
+ regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "VDD_ALIVE_0.9V_AP";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "VDDQ_MMC2_2.8V_AP";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "VDD1_E_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "VDD10_MIF_PLL_1.0V_AP";
+ regulator-min-microvolt = <1300000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "VDD10_DPLL_1.0V_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "VDD10_MIPI2L_1.0V_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "VDD18_MIPI2L_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "VDD18_LLI_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "VDD18_ABB_ETC_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "VDD33_USB30_3.0V_AP";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "VDD_INT_M_1.0V_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "VDD_KFC_M_1.1V_AP";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "VDD_G3D_M_0.95V_AP";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <950000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo14_reg: LDO14 {
+ regulator-name = "VDDQ_M1_LDO_1.2V_AP";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "VDDQ_M2_LDO_1.2V_AP";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "VDDQ_EFUSE";
+ regulator-min-microvolt = <1400000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-always-on;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "V_TFLASH_2.8V_AP";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "V_CODEC_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "VDDA_1.8V_COMP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo20_reg: LDO20 {
+ regulator-name = "VCC_2.8V_AP";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo21_reg: LDO21 {
+ regulator-name = "VT_CAM_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo22_reg: LDO22 {
+ regulator-name = "CAM_IO_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo23_reg: LDO23 {
+ regulator-name = "CAM_SEN_CORE_1.2V_AP";
+ regulator-min-microvolt = <1050000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "VT_CAM_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ ldo25_reg: LDO25 {
+ regulator-name = "CAM_SEN_A2.8V_AP";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo26_reg: LDO26 {
+ regulator-name = "CAM_AF_2.8V_AP";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo27_reg: LDO27 {
+ regulator-name = "VCC_3.0V_LCD_AP";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo28_reg: LDO28 {
+ regulator-name = "VCC_1.8V_LCD_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo29_reg: LDO29 {
+ regulator-name = "VT_CAM_2.8V";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo30_reg: LDO30 {
+ regulator-name = "TSP_AVDD_3.3V_AP";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo31_reg: LDO31 {
+ regulator-name = "TSP_VDD_1.85V_AP";
+ regulator-min-microvolt = <1850000>;
+ regulator-max-microvolt = <1850000>;
+ regulator-boot-on;
+ };
+
+ ldo32_reg: LDO32 {
+ regulator-name = "VTOUCH_1.8V_AP";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ };
+
+ ldo33_reg: LDO33 {
+ regulator-name = "VTOUCH_LED_3.3V";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-ramp-delay = <12500>;
+ };
+
+ ldo34_reg: LDO34 {
+ regulator-name = "VCC_1.8V_MHL_AP";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <2100000>;
+ };
+
+ ldo35_reg: LDO35 {
+ regulator-name = "OIS_VM_2.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo36_reg: LDO36 {
+ regulator-name = "VSIL_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo37_reg: LDO37 {
+ regulator-name = "VF_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo38_reg: LDO38 {
+ regulator-name = "VCC_3.0V_MOTOR_AP";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ };
+
+ ldo39_reg: LDO39 {
+ regulator-name = "V_HRM_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo40_reg: LDO40 {
+ regulator-name = "V_HRM_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "VDD_MIF_0.9V_AP";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "VDD_EGL_1.0V_AP";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "VDD_KFC_1.0V_AP";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "VDD_INT_0.95V_AP";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "VDD_DISP_CAM0_0.9V_AP";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck6_reg: BUCK6 {
+ regulator-name = "VDD_G3D_0.9V_AP";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ buck7_reg: BUCK7 {
+ regulator-name = "VDD_MEM1_1.2V_AP";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ buck8_reg: BUCK8 {
+ regulator-name = "VDD_LLDO_1.35V_AP";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ buck9_reg: BUCK9 {
+ regulator-name = "VDD_MLDO_2.0V_AP";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ buck10_reg: BUCK10 {
+ regulator-name = "vdd_mem2";
+ regulator-min-microvolt = <550000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&hsi2c_8 {
+ status = "okay";
+
+ max77843@66 {
+ compatible = "samsung,max77843";
+ interrupt-parent = <&gpa1>;
+ interrupts = <5 2>;
+ reg = <0x66>;
+ wakeup;
+
+ muic: max77843-muic {
+ compatible = "maxim,max77843-muic";
+ };
+
+ regulators {
+ compatible = "maxim,max77843-regulator";
+ safeout1_reg: SAFEOUT1 {
+ regulator-name = "SAFEOUT1";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <4950000>;
+ };
+
+ safeout2_reg: SAFEOUT2 {
+ regulator-name = "SAFEOUT2";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <4950000>;
+ };
+
+ charger_reg: CHARGER {
+ regulator-name = "CHARGER";
+ regulator-min-microamp = <100000>;
+ regulator-max-microamp = <3150000>;
+ };
+ };
+
+ haptic: max77843-haptic {
+ compatible = "maxim,max77843-haptic";
+ haptic-supply = <&ldo38_reg>;
+ pwms = <&pwm 0 33670 0>;
+ pwm-names = "haptic";
+ };
+ };
+};
+
+&hsi2c_11 {
+ status = "okay";
+};
+
+&i2s0 {
+ status = "okay";
+};
+
+&lpass {
+ status = "okay";
+};
+
+&mshc_0 {
+ status = "okay";
+ num-slots = <1>;
+ broken-cd;
+ non-removable;
+ card-detect-delay = <200>;
+ samsung,dw-mshc-ciu-div = <3>;
+ samsung,dw-mshc-sdr-timing = <0 4>;
+ samsung,dw-mshc-ddr-timing = <0 2>;
+ samsung,dw-mshc-hs400-timing = <0 3>;
+ samsung,read-strobe-delay = <90>;
+ fifo-depth = <0x80>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rdqs>;
+ bus-width = <8>;
+ assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
+ assigned-clock-rates = <800000000>;
+};
+
+&pinctrl_alive {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_alive>;
+
+ initial_alive: initial-state {
+ PIN(IN, gpa0-0, DOWN, LV1);
+ PIN(IN, gpa0-1, NONE, LV1);
+ PIN(IN, gpa0-2, DOWN, LV1);
+ PIN(IN, gpa0-3, NONE, LV1);
+ PIN(IN, gpa0-4, NONE, LV1);
+ PIN(IN, gpa0-5, DOWN, LV1);
+ PIN(IN, gpa0-6, NONE, LV1);
+ PIN(IN, gpa0-7, NONE, LV1);
+
+ PIN(IN, gpa1-0, UP, LV1);
+ PIN(IN, gpa1-1, NONE, LV1);
+ PIN(IN, gpa1-2, NONE, LV1);
+ PIN(IN, gpa1-3, DOWN, LV1);
+ PIN(IN, gpa1-4, DOWN, LV1);
+ PIN(IN, gpa1-5, NONE, LV1);
+ PIN(IN, gpa1-6, NONE, LV1);
+ PIN(IN, gpa1-7, NONE, LV1);
+
+ PIN(IN, gpa2-0, NONE, LV1);
+ PIN(IN, gpa2-1, NONE, LV1);
+ PIN(IN, gpa2-2, NONE, LV1);
+ PIN(IN, gpa2-3, DOWN, LV1);
+ PIN(IN, gpa2-4, NONE, LV1);
+ PIN(IN, gpa2-5, DOWN, LV1);
+ PIN(IN, gpa2-6, DOWN, LV1);
+ PIN(IN, gpa2-7, NONE, LV1);
+
+ PIN(IN, gpa3-0, DOWN, LV1);
+ PIN(IN, gpa3-1, DOWN, LV1);
+ PIN(IN, gpa3-2, NONE, LV1);
+ PIN(IN, gpa3-3, DOWN, LV1);
+ PIN(IN, gpa3-4, NONE, LV1);
+ PIN(IN, gpa3-5, DOWN, LV1);
+ PIN(IN, gpa3-6, DOWN, LV1);
+ PIN(IN, gpa3-7, DOWN, LV1);
+
+ PIN(IN, gpf1-0, NONE, LV1);
+ PIN(IN, gpf1-1, NONE, LV1);
+ PIN(IN, gpf1-2, DOWN, LV1);
+ PIN(IN, gpf1-4, UP, LV1);
+ PIN(OUT, gpf1-5, NONE, LV1);
+ PIN(IN, gpf1-6, DOWN, LV1);
+ PIN(IN, gpf1-7, DOWN, LV1);
+
+ PIN(IN, gpf2-0, DOWN, LV1);
+ PIN(IN, gpf2-1, DOWN, LV1);
+ PIN(IN, gpf2-2, DOWN, LV1);
+ PIN(IN, gpf2-3, DOWN, LV1);
+
+ PIN(IN, gpf3-0, DOWN, LV1);
+ PIN(IN, gpf3-1, DOWN, LV1);
+ PIN(IN, gpf3-2, NONE, LV1);
+ PIN(IN, gpf3-3, DOWN, LV1);
+
+ PIN(IN, gpf4-0, DOWN, LV1);
+ PIN(IN, gpf4-1, DOWN, LV1);
+ PIN(IN, gpf4-2, DOWN, LV1);
+ PIN(IN, gpf4-3, DOWN, LV1);
+ PIN(IN, gpf4-4, DOWN, LV1);
+ PIN(IN, gpf4-5, DOWN, LV1);
+ PIN(IN, gpf4-6, DOWN, LV1);
+ PIN(IN, gpf4-7, DOWN, LV1);
+
+ PIN(IN, gpf5-0, DOWN, LV1);
+ PIN(IN, gpf5-1, DOWN, LV1);
+ PIN(IN, gpf5-2, DOWN, LV1);
+ PIN(IN, gpf5-3, DOWN, LV1);
+ PIN(OUT, gpf5-4, NONE, LV1);
+ PIN(IN, gpf5-5, DOWN, LV1);
+ PIN(IN, gpf5-6, DOWN, LV1);
+ PIN(IN, gpf5-7, DOWN, LV1);
+ };
+
+ te_irq: te_irq {
+ samsung,pins = "gpf1-3";
+ samsung,pin-function = <0xf>;
+ };
+};
+
+&pinctrl_cpif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_cpif>;
+
+ initial_cpif: initial-state {
+ PIN(IN, gpv6-0, DOWN, LV1);
+ PIN(IN, gpv6-1, DOWN, LV1);
+ };
+};
+
+&pinctrl_ese {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_ese>;
+
+ initial_ese: initial-state {
+ PIN(IN, gpj2-0, DOWN, LV1);
+ PIN(IN, gpj2-1, DOWN, LV1);
+ PIN(IN, gpj2-2, DOWN, LV1);
+ };
+};
+
+&pinctrl_fsys {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_fsys>;
+
+ initial_fsys: initial-state {
+ PIN(IN, gpr3-0, NONE, LV1);
+ PIN(IN, gpr3-1, DOWN, LV1);
+ PIN(IN, gpr3-2, DOWN, LV1);
+ PIN(IN, gpr3-3, DOWN, LV1);
+ PIN(IN, gpr3-7, NONE, LV1);
+ };
+};
+
+&pinctrl_imem {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_imem>;
+
+ initial_imem: initial-state {
+ PIN(IN, gpf0-0, UP, LV1);
+ PIN(IN, gpf0-1, UP, LV1);
+ PIN(IN, gpf0-2, DOWN, LV1);
+ PIN(IN, gpf0-3, UP, LV1);
+ PIN(IN, gpf0-4, DOWN, LV1);
+ PIN(IN, gpf0-5, NONE, LV1);
+ PIN(IN, gpf0-6, DOWN, LV1);
+ PIN(IN, gpf0-7, UP, LV1);
+ };
+};
+
+&pinctrl_nfc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_nfc>;
+
+ initial_nfc: initial-state {
+ PIN(IN, gpj0-2, DOWN, LV1);
+ };
+};
+
+&pinctrl_peric {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_peric>;
+
+ initial_peric: initial-state {
+ PIN(IN, gpv7-0, DOWN, LV1);
+ PIN(IN, gpv7-1, DOWN, LV1);
+ PIN(IN, gpv7-2, NONE, LV1);
+ PIN(IN, gpv7-3, DOWN, LV1);
+ PIN(IN, gpv7-4, DOWN, LV1);
+ PIN(IN, gpv7-5, DOWN, LV1);
+
+ PIN(IN, gpb0-4, DOWN, LV1);
+
+ PIN(IN, gpc0-2, DOWN, LV1);
+ PIN(IN, gpc0-5, DOWN, LV1);
+ PIN(IN, gpc0-7, DOWN, LV1);
+
+ PIN(IN, gpc1-1, DOWN, LV1);
+
+ PIN(IN, gpc3-4, NONE, LV1);
+ PIN(IN, gpc3-5, NONE, LV1);
+ PIN(IN, gpc3-6, NONE, LV1);
+ PIN(IN, gpc3-7, NONE, LV1);
+
+ PIN(OUT, gpg0-0, NONE, LV1);
+ PIN(FUNC1, gpg0-1, DOWN, LV1);
+
+ PIN(IN, gpd2-5, DOWN, LV1);
+
+ PIN(IN, gpd4-0, NONE, LV1);
+ PIN(IN, gpd4-1, DOWN, LV1);
+ PIN(IN, gpd4-2, DOWN, LV1);
+ PIN(IN, gpd4-3, DOWN, LV1);
+ PIN(IN, gpd4-4, DOWN, LV1);
+
+ PIN(IN, gpd6-3, DOWN, LV1);
+
+ PIN(IN, gpd8-1, UP, LV1);
+
+ PIN(IN, gpg1-0, DOWN, LV1);
+ PIN(IN, gpg1-1, DOWN, LV1);
+ PIN(IN, gpg1-2, DOWN, LV1);
+ PIN(IN, gpg1-3, DOWN, LV1);
+ PIN(IN, gpg1-4, DOWN, LV1);
+
+ PIN(IN, gpg2-0, DOWN, LV1);
+ PIN(IN, gpg2-1, DOWN, LV1);
+
+ PIN(IN, gpg3-0, DOWN, LV1);
+ PIN(IN, gpg3-1, DOWN, LV1);
+ PIN(IN, gpg3-5, DOWN, LV1);
+ PIN(IN, gpg3-7, DOWN, LV1);
+ };
+};
+
+&pinctrl_touch {
+ pinctrl-names = "default";
+ pinctrl-0 = <&initial_touch>;
+
+ initial_touch: initial-state {
+ PIN(IN, gpj1-2, DOWN, LV1);
+ };
+};
+
+&pwm {
+ pinctrl-0 = <&pwm0_out>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&mic {
+ status = "okay";
+
+ i80-if-timings {
+ };
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&spi_1 {
+ cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+
+ wm5110: wm5110-codec@0 {
+ compatible = "wlf,wm5110";
+ reg = <0x0>;
+ spi-max-frequency = <20000000>;
+ interrupt-parent = <&gpa0>;
+ interrupts = <4 0 0>;
+ clocks = <&xxti>, <&s2mps13_osc 2>;
+ clock-names = "mclk1", "mclk2";
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ wlf,micd-detect-debounce = <300>;
+ wlf,micd-bias-start-time = <0x1>;
+ wlf,micd-rate = <0x7>;
+ wlf,micd-dbtime = <0x1>;
+ wlf,micd-force-micbias;
+ wlf,micd-configs = <0x0 1 0>;
+ wlf,hpdet-channel = <1>;
+ wlf,gpsw = <0x1>;
+ wlf,inmode = <2 0 2 0>;
+
+ wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
+ wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
+
+ /* core supplies */
+ AVDD-supply = <&ldo18_reg>;
+ DBVDD1-supply = <&ldo18_reg>;
+ CPVDD-supply = <&ldo18_reg>;
+ DBVDD2-supply = <&ldo18_reg>;
+ DBVDD3-supply = <&ldo18_reg>;
+
+ controller-data {
+ samsung,spi-feedback-delay = <0>;
+ };
+ };
+};
+
+&timer {
+ clock-frequency = <24000000>;
+};
+
+&tmu_atlas0 {
+ vtmu-supply = <&ldo3_reg>;
+ status = "okay";
+};
+
+&tmu_apollo {
+ vtmu-supply = <&ldo3_reg>;
+ status = "okay";
+};
+
+&tmu_g3d {
+ vtmu-supply = <&ldo3_reg>;
+ status = "okay";
+};
+
+&usbdrd30 {
+ vdd33-supply = <&ldo10_reg>;
+ vdd10-supply = <&ldo6_reg>;
+ status = "okay";
+};
+
+&usbdrd_dwc3_0 {
+ dr_mode = "otg";
+};
+
+&usbdrd30_phy {
+ vbus-supply = <&safeout1_reg>;
+ status = "okay";
+};
+
+&xxti {
+ clock-frequency = <24000000>;
+};
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | Krzysztof Kozlowski <k.kozlowski@samsung.com> |
|---|---|
| Date | 2016-08-17 09:00 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s72Zs-5QM-5@gated-at.bofh.it> |
| In reply to | #1463457 |
On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
> This patch adds the Device Tree source for Exynos5433-based Samsung TM2 board.
> This board fully support the all things for mobile target.
>
> This patch supports the following devices:
> 1. basic SoC
> - Initial booting for Samsung Exynos5433 SoC
> - DRAM LPDDR3 (3GB)
> - eMMC (32GB)
> - ARM architecture timer
>
> 2. power management devices
> - Sasmung S2MPS13 PMIC for the power supply
> - CPUFREQ for big.LITTLE cores
> - TMU for big.LITTLE cores and GPU
> - ADC with thermistor to measure the temperature of AP/Battery/Charger
> - Maxim MAX77843 Interface PMIC (MUIC/Fuel-gauge/Charger/Haptic/LED/Regulator)
>
> 3. sound devices
> - I2S for sound bus
> - LPASS for sound power control
> - Wolfson WM5110 for sound codec
> - Maxim MAX98504 for speaker amplifier
> - TM2 ASoC Machine device driver node
>
> 3. display devices
> - DECON, DSI and MIC for the panel output
>
> 4. usb devices
> - USB 3.0 DRD (Dual Role Device)
> - USB 3.0 Host controller
>
> 5. storage devices
> - MSHC (obile Storae Host Controller) for eMMC device
Mobile Storage
>
> 6. misc devices
> - gpio-keys (power, volume up/down, home key)
> - PWM (Pulse Width Modulation Timer)
>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
> Signed-off-by: Inha Song <ideal.song@samsung.com>
> Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> .../bindings/arm/samsung/samsung-boards.txt | 1 +
> arch/arm64/boot/dts/exynos/Makefile | 5 +-
> arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1003 ++++++++++++++++++++
> 3 files changed, 1008 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> index 0ea7f14ef294..c704b4bf6137 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> @@ -15,6 +15,7 @@ Required root node properties:
> - "samsung,xyref5260" - for Exynos5260-based Samsung board.
> - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
> - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
> + - "samsung,tm2" - for Exynos5333-based Samsung TM2 board.
> - "samsung,sd5v1" - for Exynos5440-based Samsung board.
> - "samsung,ssdk5440" - for Exynos5440-based Samsung board.
>
> diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
> index 50c9b9383cfa..7ddea53769a7 100644
> --- a/arch/arm64/boot/dts/exynos/Makefile
> +++ b/arch/arm64/boot/dts/exynos/Makefile
> @@ -1,4 +1,7 @@
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
> +dtb-$(CONFIG_ARCH_EXYNOS) += \
> + exynos5433-tm2.dtb \
> + exynos5433-tm2e.dtb \
> + exynos7-espresso.dtb
>
> always := $(dtb-y)
> subdir-y := $(dts-dirs)
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> new file mode 100644
> index 000000000000..3e497b0d0015
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> @@ -0,0 +1,1003 @@
> +/*
> + * SAMSUNG Exynos5433 TM2 board device tree source
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + *
> + * Device tree source file for Samsung's TM2 board which is based on
> + * Samsung Exynos5433 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 "exynos5433.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung TM2 board";
> + compatible = "samsung,exynos5433-tm2", "samsung,exynos5433";
> +
> + aliases {
> + i2c0 = &hsi2c_0;
> + i2c1 = &hsi2c_1;
> + i2c2 = &hsi2c_2;
> + i2c3 = &hsi2c_3;
> + i2c4 = &hsi2c_4;
> + i2c5 = &hsi2c_5;
> + i2c6 = &hsi2c_6;
> + i2c7 = &hsi2c_7;
> + i2c8 = &hsi2c_8;
> + i2c9 = &hsi2c_9;
> + i2c10 = &hsi2c_10;
> + i2c11 = &hsi2c_11;
> + mshc0 = &mshc_0;
> + mshc1 = &mshc_1;
> + mshc2 = &mshc_2;
> + pinctrl0 = &pinctrl_alive;
> + pinctrl1 = &pinctrl_aud;
> + pinctrl2 = &pinctrl_cpif;
> + pinctrl3 = &pinctrl_ese;
> + pinctrl4 = &pinctrl_finger;
> + pinctrl5 = &pinctrl_fsys;
> + pinctrl6 = &pinctrl_imem;
> + pinctrl7 = &pinctrl_nfc;
> + pinctrl8 = &pinctrl_peric;
> + pinctrl9 = &pinctrl_touch;
> + serial0 = &serial_0;
> + serial1 = &serial_1;
> + serial2 = &serial_2;
> + serial3 = &serial_3;
> + spi0 = &spi_0;
> + spi1 = &spi_1;
> + spi2 = &spi_2;
> + spi3 = &spi_3;
> + spi4 = &spi_4;
> + usbdrdphy0 = &usbdrd30_phy;
> + };
> +
> + chosen {
> + stdout-path = &serial_1;
> + };
> +
> + memory@20000000 {
> + device_type = "memory";
> + reg = <0x0 0x20000000 0x0 0xc0000000>;
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + gpios = <&gpa2 7 1>;
s/1/GPIO_ACTIVE_LOW/
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> +
> + volume_up_key {
> + gpios = <&gpa2 0 1>;
s/1/GPIO_ACTIVE_LOW/
> + linux,code = <KEY_VOLUMEUP>;
> + label = "volume-up key";
> + debounce-interval = <10>;
> + };
> +
> + volume_down_key {
> + gpios = <&gpa2 1 1>;
s/1/GPIO_ACTIVE_LOW/
> + linux,code = <KEY_VOLUMEDOWN>;
> + label = "volume-down key";
> + debounce-interval = <10>;
> + };
> +
> + homepage_key {
> + gpios = <&gpa0 3 1>;
s/1/GPIO_ACTIVE_LOW/
> + linux,code = <KEY_MENU>;
> + label = "homepage key";
> + debounce-interval = <10>;
> + };
> + };
> +
> + i2c_max98504: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
> + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
> + i2c-gpio,delay-us = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + max98504: max98504@31 {
> + compatible = "maxim,max98504";
> + reg = <0x31>;
> + maxim,rx-path = <1>;
> + maxim,tx-path = <1>;
> + maxim,tx-channel-mask = <3>;
> + maxim,tx-channel-source = <2>;
> + };
> + };
> +
> + sound {
> + compatible = "samsung,tm2-audio";
> + audio-codec = <&wm5110>;
> + i2s-controller = <&i2s0>;
> + audio-amplifier = <&max98504>;
> + mic-bias-gpios = <&gpr3 2 0>;
s/0/GPIO_ACTIVE_HIGH/
> + model = "wm5110";
> + samsung,audio-routing =
> + /* Headphone */
> + "HP", "HPOUT1L",
> + "HP", "HPOUT1R",
> +
> + /* Speaker */
> + "SPK", "SPKOUT",
> + "SPKOUT", "HPOUT2L",
> + "SPKOUT", "HPOUT2R",
> +
> + /* Receiver */
> + "RCV", "HPOUT3L",
> + "RCV", "HPOUT3R";
> + status = "okay";
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> +
> + thermistor-ap {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor_battery: thermistor-battery {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 1>;
> + #thermal-sensor-cells = <0>;
> + };
> +
> + thermistor-charger {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 2>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <&buck3_reg>;
> +};
> +
> +&cpu4 {
> + cpu-supply = <&buck2_reg>;
> +};
> +
> +&decon {
> + status = "okay";
> + iommu-reserved-mapping = <0x20000000 0x20000000 0xc0000000>;
> +
> + i80-if-timings {
> + };
> +};
> +
> +&dsi {
> + status = "okay";
> + vddcore-supply = <&ldo6_reg>;
> + vddio-supply = <&ldo7_reg>;
> + samsung,pll-clock-frequency = <24000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&te_irq>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + dsi_out: endpoint {
> + samsung,burst-clock-frequency = <512000000>;
> + samsung,esc-clock-frequency = <16000000>;
> + };
> + };
> + };
> +};
> +
> +&hsi2c_0 {
> + status = "okay";
> + clock-frequency = <2500000>;
> +
> + s2mps13_pmic@66 {
> + compatible = "samsung,s2mps13-pmic";
> + interrupt-parent = <&gpa0>;
> + interrupts = <7 0>;
s/0/IRQ_TYPE_NONE/
> + reg = <0x66>;
> + wakeup;
I think there is no such "wakeup" property.
> + samsung,s2mps11-wrstbi-ground;
> +
> + s2mps13_osc: clocks {
> + compatible = "samsung,s2mps13-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps13_ap", "s2mps13_cp",
> + "s2mps13_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VDD_ALIVE_0.9V_AP";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VDDQ_MMC2_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VDD1_E_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VDD10_MIF_PLL_1.0V_AP";
> + regulator-min-microvolt = <1300000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VDD10_DPLL_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VDD10_MIPI2L_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VDD18_MIPI2L_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VDD18_LLI_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "VDD18_ABB_ETC_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "VDD33_USB30_3.0V_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "VDD_INT_M_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "VDD_KFC_M_1.1V_AP";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VDD_G3D_M_0.95V_AP";
> + regulator-min-microvolt = <950000>;
> + regulator-max-microvolt = <950000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "VDDQ_M1_LDO_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "VDDQ_M2_LDO_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "VDDQ_EFUSE";
> + regulator-min-microvolt = <1400000>;
> + regulator-max-microvolt = <3400000>;
> + regulator-always-on;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "V_TFLASH_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "V_CODEC_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "VDDA_1.8V_COMP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "VCC_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "VT_CAM_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "CAM_IO_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "CAM_SEN_CORE_1.2V_AP";
> + regulator-min-microvolt = <1050000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "VT_CAM_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "CAM_SEN_A2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo26_reg: LDO26 {
> + regulator-name = "CAM_AF_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo27_reg: LDO27 {
> + regulator-name = "VCC_3.0V_LCD_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo28_reg: LDO28 {
> + regulator-name = "VCC_1.8V_LCD_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo29_reg: LDO29 {
> + regulator-name = "VT_CAM_2.8V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo30_reg: LDO30 {
> + regulator-name = "TSP_AVDD_3.3V_AP";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo31_reg: LDO31 {
> + regulator-name = "TSP_VDD_1.85V_AP";
> + regulator-min-microvolt = <1850000>;
> + regulator-max-microvolt = <1850000>;
> + regulator-boot-on;
> + };
> +
> + ldo32_reg: LDO32 {
> + regulator-name = "VTOUCH_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-boot-on;
> + };
> +
> + ldo33_reg: LDO33 {
> + regulator-name = "VTOUCH_LED_3.3V";
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-ramp-delay = <12500>;
> + };
> +
> + ldo34_reg: LDO34 {
> + regulator-name = "VCC_1.8V_MHL_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <2100000>;
> + };
> +
> + ldo35_reg: LDO35 {
> + regulator-name = "OIS_VM_2.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo36_reg: LDO36 {
> + regulator-name = "VSIL_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo37_reg: LDO37 {
> + regulator-name = "VF_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo38_reg: LDO38 {
> + regulator-name = "VCC_3.0V_MOTOR_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + };
> +
> + ldo39_reg: LDO39 {
> + regulator-name = "V_HRM_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo40_reg: LDO40 {
> + regulator-name = "V_HRM_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VDD_MIF_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VDD_EGL_1.0V_AP";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VDD_KFC_1.0V_AP";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VDD_INT_0.95V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VDD_DISP_CAM0_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck6_reg: BUCK6 {
> + regulator-name = "VDD_G3D_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck7_reg: BUCK7 {
> + regulator-name = "VDD_MEM1_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + buck8_reg: BUCK8 {
> + regulator-name = "VDD_LLDO_1.35V_AP";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + buck9_reg: BUCK9 {
> + regulator-name = "VDD_MLDO_2.0V_AP";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + buck10_reg: BUCK10 {
> + regulator-name = "vdd_mem2";
> + regulator-min-microvolt = <550000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&hsi2c_8 {
> + status = "okay";
> +
> + max77843@66 {
> + compatible = "samsung,max77843";
There is no such compatible.
> + interrupt-parent = <&gpa1>;
> + interrupts = <5 2>;
IRQ_TYPE_EDGE_FALLING
> + reg = <0x66>;
> + wakeup;
Ditto - wakeup.
> +
> + muic: max77843-muic {
> + compatible = "maxim,max77843-muic";
> + };
> +
> + regulators {
> + compatible = "maxim,max77843-regulator";
BTW, It's a pity that max77843 submission was not finished. These
compatibles are not documented. Also the charger driver did not reach
mainline. The fuelgauge probably has wrong compatible in MFD driver.
> + safeout1_reg: SAFEOUT1 {
> + regulator-name = "SAFEOUT1";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <4950000>;
> + };
> +
> + safeout2_reg: SAFEOUT2 {
> + regulator-name = "SAFEOUT2";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <4950000>;
> + };
> +
> + charger_reg: CHARGER {
> + regulator-name = "CHARGER";
> + regulator-min-microamp = <100000>;
> + regulator-max-microamp = <3150000>;
> + };
> + };
> +
> + haptic: max77843-haptic {
> + compatible = "maxim,max77843-haptic";
> + haptic-supply = <&ldo38_reg>;
> + pwms = <&pwm 0 33670 0>;
> + pwm-names = "haptic";
> + };
> + };
> +};
> +
> +&hsi2c_11 {
> + status = "okay";
What is inside? How does it work if there is no child device specified?
> +};
> +
> +&i2s0 {
> + status = "okay";
> +};
> +
> +&lpass {
> + status = "okay";
> +};
> +
> +&mshc_0 {
> + status = "okay";
> + num-slots = <1>;
> + broken-cd;
> + non-removable;
Putting both properties - broken and non-removable - is not supported.
Please choose one.
> + card-detect-delay = <200>;
> + samsung,dw-mshc-ciu-div = <3>;
> + samsung,dw-mshc-sdr-timing = <0 4>;
> + samsung,dw-mshc-ddr-timing = <0 2>;
> + samsung,dw-mshc-hs400-timing = <0 3>;
> + samsung,read-strobe-delay = <90>;
> + fifo-depth = <0x80>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rdqs>;
> + bus-width = <8>;
> + assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
> + assigned-clock-rates = <800000000>;
> +};
> +
> +&pinctrl_alive {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_alive>;
> +
> + initial_alive: initial-state {
> + PIN(IN, gpa0-0, DOWN, LV1);
> + PIN(IN, gpa0-1, NONE, LV1);
> + PIN(IN, gpa0-2, DOWN, LV1);
> + PIN(IN, gpa0-3, NONE, LV1);
> + PIN(IN, gpa0-4, NONE, LV1);
> + PIN(IN, gpa0-5, DOWN, LV1);
> + PIN(IN, gpa0-6, NONE, LV1);
> + PIN(IN, gpa0-7, NONE, LV1);
> +
> + PIN(IN, gpa1-0, UP, LV1);
> + PIN(IN, gpa1-1, NONE, LV1);
> + PIN(IN, gpa1-2, NONE, LV1);
> + PIN(IN, gpa1-3, DOWN, LV1);
> + PIN(IN, gpa1-4, DOWN, LV1);
> + PIN(IN, gpa1-5, NONE, LV1);
> + PIN(IN, gpa1-6, NONE, LV1);
> + PIN(IN, gpa1-7, NONE, LV1);
> +
> + PIN(IN, gpa2-0, NONE, LV1);
> + PIN(IN, gpa2-1, NONE, LV1);
> + PIN(IN, gpa2-2, NONE, LV1);
> + PIN(IN, gpa2-3, DOWN, LV1);
> + PIN(IN, gpa2-4, NONE, LV1);
> + PIN(IN, gpa2-5, DOWN, LV1);
> + PIN(IN, gpa2-6, DOWN, LV1);
> + PIN(IN, gpa2-7, NONE, LV1);
> +
> + PIN(IN, gpa3-0, DOWN, LV1);
> + PIN(IN, gpa3-1, DOWN, LV1);
> + PIN(IN, gpa3-2, NONE, LV1);
> + PIN(IN, gpa3-3, DOWN, LV1);
> + PIN(IN, gpa3-4, NONE, LV1);
> + PIN(IN, gpa3-5, DOWN, LV1);
> + PIN(IN, gpa3-6, DOWN, LV1);
> + PIN(IN, gpa3-7, DOWN, LV1);
> +
> + PIN(IN, gpf1-0, NONE, LV1);
> + PIN(IN, gpf1-1, NONE, LV1);
> + PIN(IN, gpf1-2, DOWN, LV1);
> + PIN(IN, gpf1-4, UP, LV1);
> + PIN(OUT, gpf1-5, NONE, LV1);
> + PIN(IN, gpf1-6, DOWN, LV1);
> + PIN(IN, gpf1-7, DOWN, LV1);
> +
> + PIN(IN, gpf2-0, DOWN, LV1);
> + PIN(IN, gpf2-1, DOWN, LV1);
> + PIN(IN, gpf2-2, DOWN, LV1);
> + PIN(IN, gpf2-3, DOWN, LV1);
> +
> + PIN(IN, gpf3-0, DOWN, LV1);
> + PIN(IN, gpf3-1, DOWN, LV1);
> + PIN(IN, gpf3-2, NONE, LV1);
> + PIN(IN, gpf3-3, DOWN, LV1);
> +
> + PIN(IN, gpf4-0, DOWN, LV1);
> + PIN(IN, gpf4-1, DOWN, LV1);
> + PIN(IN, gpf4-2, DOWN, LV1);
> + PIN(IN, gpf4-3, DOWN, LV1);
> + PIN(IN, gpf4-4, DOWN, LV1);
> + PIN(IN, gpf4-5, DOWN, LV1);
> + PIN(IN, gpf4-6, DOWN, LV1);
> + PIN(IN, gpf4-7, DOWN, LV1);
> +
> + PIN(IN, gpf5-0, DOWN, LV1);
> + PIN(IN, gpf5-1, DOWN, LV1);
> + PIN(IN, gpf5-2, DOWN, LV1);
> + PIN(IN, gpf5-3, DOWN, LV1);
> + PIN(OUT, gpf5-4, NONE, LV1);
> + PIN(IN, gpf5-5, DOWN, LV1);
> + PIN(IN, gpf5-6, DOWN, LV1);
> + PIN(IN, gpf5-7, DOWN, LV1);
> + };
> +
> + te_irq: te_irq {
> + samsung,pins = "gpf1-3";
> + samsung,pin-function = <0xf>;
> + };
> +};
> +
> +&pinctrl_cpif {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_cpif>;
> +
> + initial_cpif: initial-state {
> + PIN(IN, gpv6-0, DOWN, LV1);
> + PIN(IN, gpv6-1, DOWN, LV1);
> + };
> +};
> +
> +&pinctrl_ese {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_ese>;
> +
> + initial_ese: initial-state {
> + PIN(IN, gpj2-0, DOWN, LV1);
> + PIN(IN, gpj2-1, DOWN, LV1);
> + PIN(IN, gpj2-2, DOWN, LV1);
> + };
> +};
> +
> +&pinctrl_fsys {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_fsys>;
> +
> + initial_fsys: initial-state {
> + PIN(IN, gpr3-0, NONE, LV1);
> + PIN(IN, gpr3-1, DOWN, LV1);
> + PIN(IN, gpr3-2, DOWN, LV1);
> + PIN(IN, gpr3-3, DOWN, LV1);
> + PIN(IN, gpr3-7, NONE, LV1);
> + };
> +};
> +
> +&pinctrl_imem {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_imem>;
> +
> + initial_imem: initial-state {
> + PIN(IN, gpf0-0, UP, LV1);
> + PIN(IN, gpf0-1, UP, LV1);
> + PIN(IN, gpf0-2, DOWN, LV1);
> + PIN(IN, gpf0-3, UP, LV1);
> + PIN(IN, gpf0-4, DOWN, LV1);
> + PIN(IN, gpf0-5, NONE, LV1);
> + PIN(IN, gpf0-6, DOWN, LV1);
> + PIN(IN, gpf0-7, UP, LV1);
> + };
> +};
> +
> +&pinctrl_nfc {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_nfc>;
> +
> + initial_nfc: initial-state {
> + PIN(IN, gpj0-2, DOWN, LV1);
> + };
> +};
> +
> +&pinctrl_peric {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_peric>;
> +
> + initial_peric: initial-state {
> + PIN(IN, gpv7-0, DOWN, LV1);
> + PIN(IN, gpv7-1, DOWN, LV1);
> + PIN(IN, gpv7-2, NONE, LV1);
> + PIN(IN, gpv7-3, DOWN, LV1);
> + PIN(IN, gpv7-4, DOWN, LV1);
> + PIN(IN, gpv7-5, DOWN, LV1);
> +
> + PIN(IN, gpb0-4, DOWN, LV1);
> +
> + PIN(IN, gpc0-2, DOWN, LV1);
> + PIN(IN, gpc0-5, DOWN, LV1);
> + PIN(IN, gpc0-7, DOWN, LV1);
> +
> + PIN(IN, gpc1-1, DOWN, LV1);
> +
> + PIN(IN, gpc3-4, NONE, LV1);
> + PIN(IN, gpc3-5, NONE, LV1);
> + PIN(IN, gpc3-6, NONE, LV1);
> + PIN(IN, gpc3-7, NONE, LV1);
> +
> + PIN(OUT, gpg0-0, NONE, LV1);
> + PIN(FUNC1, gpg0-1, DOWN, LV1);
> +
> + PIN(IN, gpd2-5, DOWN, LV1);
> +
> + PIN(IN, gpd4-0, NONE, LV1);
> + PIN(IN, gpd4-1, DOWN, LV1);
> + PIN(IN, gpd4-2, DOWN, LV1);
> + PIN(IN, gpd4-3, DOWN, LV1);
> + PIN(IN, gpd4-4, DOWN, LV1);
> +
> + PIN(IN, gpd6-3, DOWN, LV1);
> +
> + PIN(IN, gpd8-1, UP, LV1);
> +
> + PIN(IN, gpg1-0, DOWN, LV1);
> + PIN(IN, gpg1-1, DOWN, LV1);
> + PIN(IN, gpg1-2, DOWN, LV1);
> + PIN(IN, gpg1-3, DOWN, LV1);
> + PIN(IN, gpg1-4, DOWN, LV1);
> +
> + PIN(IN, gpg2-0, DOWN, LV1);
> + PIN(IN, gpg2-1, DOWN, LV1);
> +
> + PIN(IN, gpg3-0, DOWN, LV1);
> + PIN(IN, gpg3-1, DOWN, LV1);
> + PIN(IN, gpg3-5, DOWN, LV1);
> + PIN(IN, gpg3-7, DOWN, LV1);
> + };
> +};
> +
> +&pinctrl_touch {
> + pinctrl-names = "default";
> + pinctrl-0 = <&initial_touch>;
> +
> + initial_touch: initial-state {
> + PIN(IN, gpj1-2, DOWN, LV1);
> + };
> +};
> +
> +&pwm {
> + pinctrl-0 = <&pwm0_out>;
> + pinctrl-names = "default";
> + status = "okay";
> +};
> +
> +&mic {
> + status = "okay";
> +
> + i80-if-timings {
> + };
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&spi_1 {
> + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +
> + wm5110: wm5110-codec@0 {
> + compatible = "wlf,wm5110";
> + reg = <0x0>;
> + spi-max-frequency = <20000000>;
> + interrupt-parent = <&gpa0>;
> + interrupts = <4 0 0>;
Why three interrupt cells? Please use also IRQ_TYPE_NONE for flags.
> + clocks = <&xxti>, <&s2mps13_osc 2>;
s/2/S2MPS11_CLK_BT/
Best regards,
Krzysztof
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-17 09:40 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s73C9-6mv-1@gated-at.bofh.it> |
| In reply to | #1464355 |
Hi Krzysztof,
On 2016년 08월 17일 15:42, Krzysztof Kozlowski wrote:
> On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
>> This patch adds the Device Tree source for Exynos5433-based Samsung TM2 board.
>> This board fully support the all things for mobile target.
>>
>> This patch supports the following devices:
>> 1. basic SoC
>> - Initial booting for Samsung Exynos5433 SoC
>> - DRAM LPDDR3 (3GB)
>> - eMMC (32GB)
>> - ARM architecture timer
>>
>> 2. power management devices
>> - Sasmung S2MPS13 PMIC for the power supply
>> - CPUFREQ for big.LITTLE cores
>> - TMU for big.LITTLE cores and GPU
>> - ADC with thermistor to measure the temperature of AP/Battery/Charger
>> - Maxim MAX77843 Interface PMIC (MUIC/Fuel-gauge/Charger/Haptic/LED/Regulator)
>>
>> 3. sound devices
>> - I2S for sound bus
>> - LPASS for sound power control
>> - Wolfson WM5110 for sound codec
>> - Maxim MAX98504 for speaker amplifier
>> - TM2 ASoC Machine device driver node
>>
>> 3. display devices
>> - DECON, DSI and MIC for the panel output
>>
>> 4. usb devices
>> - USB 3.0 DRD (Dual Role Device)
>> - USB 3.0 Host controller
>>
>> 5. storage devices
>> - MSHC (obile Storae Host Controller) for eMMC device
>
> Mobile Storage
OK.
>
>>
>> 6. misc devices
>> - gpio-keys (power, volume up/down, home key)
>> - PWM (Pulse Width Modulation Timer)
>>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
>> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
>> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
>> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
>> Signed-off-by: Inha Song <ideal.song@samsung.com>
>> Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>> ---
>> .../bindings/arm/samsung/samsung-boards.txt | 1 +
>> arch/arm64/boot/dts/exynos/Makefile | 5 +-
>> arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1003 ++++++++++++++++++++
>> 3 files changed, 1008 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>>
>> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> index 0ea7f14ef294..c704b4bf6137 100644
>> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> @@ -15,6 +15,7 @@ Required root node properties:
>> - "samsung,xyref5260" - for Exynos5260-based Samsung board.
>> - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
>> - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
>> + - "samsung,tm2" - for Exynos5333-based Samsung TM2 board.
>> - "samsung,sd5v1" - for Exynos5440-based Samsung board.
>> - "samsung,ssdk5440" - for Exynos5440-based Samsung board.
>>
>> diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
>> index 50c9b9383cfa..7ddea53769a7 100644
>> --- a/arch/arm64/boot/dts/exynos/Makefile
>> +++ b/arch/arm64/boot/dts/exynos/Makefile
>> @@ -1,4 +1,7 @@
>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
>> +dtb-$(CONFIG_ARCH_EXYNOS) += \
>> + exynos5433-tm2.dtb \
>> + exynos5433-tm2e.dtb \
>> + exynos7-espresso.dtb
>>
>> always := $(dtb-y)
>> subdir-y := $(dts-dirs)
>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> new file mode 100644
>> index 000000000000..3e497b0d0015
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> @@ -0,0 +1,1003 @@
>> +/*
>> + * SAMSUNG Exynos5433 TM2 board device tree source
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *
>> + * Device tree source file for Samsung's TM2 board which is based on
>> + * Samsung Exynos5433 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 "exynos5433.dtsi"
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> + model = "Samsung TM2 board";
>> + compatible = "samsung,exynos5433-tm2", "samsung,exynos5433";
>> +
>> + aliases {
>> + i2c0 = &hsi2c_0;
>> + i2c1 = &hsi2c_1;
>> + i2c2 = &hsi2c_2;
>> + i2c3 = &hsi2c_3;
>> + i2c4 = &hsi2c_4;
>> + i2c5 = &hsi2c_5;
>> + i2c6 = &hsi2c_6;
>> + i2c7 = &hsi2c_7;
>> + i2c8 = &hsi2c_8;
>> + i2c9 = &hsi2c_9;
>> + i2c10 = &hsi2c_10;
>> + i2c11 = &hsi2c_11;
>> + mshc0 = &mshc_0;
>> + mshc1 = &mshc_1;
>> + mshc2 = &mshc_2;
>> + pinctrl0 = &pinctrl_alive;
>> + pinctrl1 = &pinctrl_aud;
>> + pinctrl2 = &pinctrl_cpif;
>> + pinctrl3 = &pinctrl_ese;
>> + pinctrl4 = &pinctrl_finger;
>> + pinctrl5 = &pinctrl_fsys;
>> + pinctrl6 = &pinctrl_imem;
>> + pinctrl7 = &pinctrl_nfc;
>> + pinctrl8 = &pinctrl_peric;
>> + pinctrl9 = &pinctrl_touch;
>> + serial0 = &serial_0;
>> + serial1 = &serial_1;
>> + serial2 = &serial_2;
>> + serial3 = &serial_3;
>> + spi0 = &spi_0;
>> + spi1 = &spi_1;
>> + spi2 = &spi_2;
>> + spi3 = &spi_3;
>> + spi4 = &spi_4;
>> + usbdrdphy0 = &usbdrd30_phy;
>> + };
>> +
>> + chosen {
>> + stdout-path = &serial_1;
>> + };
>> +
>> + memory@20000000 {
>> + device_type = "memory";
>> + reg = <0x0 0x20000000 0x0 0xc0000000>;
>> + };
>> +
>> + gpio_keys {
>> + compatible = "gpio-keys";
>> +
>> + power_key {
>> + gpios = <&gpa2 7 1>;
>
> s/1/GPIO_ACTIVE_LOW/
OK.
>
>> + linux,code = <KEY_POWER>;
>> + label = "power key";
>> + debounce-interval = <10>;
>> + gpio-key,wakeup;
>> + };
>> +
>> + volume_up_key {
>> + gpios = <&gpa2 0 1>;
>
> s/1/GPIO_ACTIVE_LOW/
OK.
>
>> + linux,code = <KEY_VOLUMEUP>;
>> + label = "volume-up key";
>> + debounce-interval = <10>;
>> + };
>> +
>> + volume_down_key {
>> + gpios = <&gpa2 1 1>;
>
> s/1/GPIO_ACTIVE_LOW/
OK.
>
>> + linux,code = <KEY_VOLUMEDOWN>;
>> + label = "volume-down key";
>> + debounce-interval = <10>;
>> + };
>> +
>> + homepage_key {
>> + gpios = <&gpa0 3 1>;
>
> s/1/GPIO_ACTIVE_LOW/
OK.
>
>> + linux,code = <KEY_MENU>;
>> + label = "homepage key";
>> + debounce-interval = <10>;
>> + };
>> + };
>> +
>> + i2c_max98504: i2c-gpio-0 {
>> + compatible = "i2c-gpio";
>> + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
>> + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
>> + i2c-gpio,delay-us = <2>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + status = "okay";
>> +
>> + max98504: max98504@31 {
>> + compatible = "maxim,max98504";
>> + reg = <0x31>;
>> + maxim,rx-path = <1>;
>> + maxim,tx-path = <1>;
>> + maxim,tx-channel-mask = <3>;
>> + maxim,tx-channel-source = <2>;
>> + };
>> + };
>> +
>> + sound {
>> + compatible = "samsung,tm2-audio";
>> + audio-codec = <&wm5110>;
>> + i2s-controller = <&i2s0>;
>> + audio-amplifier = <&max98504>;
>> + mic-bias-gpios = <&gpr3 2 0>;
>
> s/0/GPIO_ACTIVE_HIGH/
OK.
>
>> + model = "wm5110";
>> + samsung,audio-routing =
>> + /* Headphone */
>> + "HP", "HPOUT1L",
>> + "HP", "HPOUT1R",
>> +
>> + /* Speaker */
>> + "SPK", "SPKOUT",
>> + "SPKOUT", "HPOUT2L",
>> + "SPKOUT", "HPOUT2R",
>> +
>> + /* Receiver */
>> + "RCV", "HPOUT3L",
>> + "RCV", "HPOUT3R";
>> + status = "okay";
>> + };
>> +};
>> +
>> +&adc {
>> + vdd-supply = <&ldo3_reg>;
>> + status = "okay";
>> +
>> + thermistor-ap {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 0>;
>> + };
>> +
>> + thermistor_battery: thermistor-battery {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 1>;
>> + #thermal-sensor-cells = <0>;
>> + };
>> +
>> + thermistor-charger {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 2>;
>> + };
>> +};
>> +
>> +&cpu0 {
>> + cpu-supply = <&buck3_reg>;
>> +};
>> +
>> +&cpu4 {
>> + cpu-supply = <&buck2_reg>;
>> +};
>> +
>> +&decon {
>> + status = "okay";
>> + iommu-reserved-mapping = <0x20000000 0x20000000 0xc0000000>;
>> +
>> + i80-if-timings {
>> + };
>> +};
>> +
>> +&dsi {
>> + status = "okay";
>> + vddcore-supply = <&ldo6_reg>;
>> + vddio-supply = <&ldo7_reg>;
>> + samsung,pll-clock-frequency = <24000000>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&te_irq>;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@1 {
>> + reg = <1>;
>> +
>> + dsi_out: endpoint {
>> + samsung,burst-clock-frequency = <512000000>;
>> + samsung,esc-clock-frequency = <16000000>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_0 {
>> + status = "okay";
>> + clock-frequency = <2500000>;
>> +
>> + s2mps13_pmic@66 {
>> + compatible = "samsung,s2mps13-pmic";
>> + interrupt-parent = <&gpa0>;
>> + interrupts = <7 0>;
>
> s/0/IRQ_TYPE_NONE/
OK.
>
>> + reg = <0x66>;
>> + wakeup;
>
> I think there is no such "wakeup" property.
I'll remove it.
>
>> + samsung,s2mps11-wrstbi-ground;
>> +
>> + s2mps13_osc: clocks {
>> + compatible = "samsung,s2mps13-clk";
>> + #clock-cells = <1>;
>> + clock-output-names = "s2mps13_ap", "s2mps13_cp",
>> + "s2mps13_bt";
>> + };
>> +
>> + regulators {
>> + ldo1_reg: LDO1 {
>> + regulator-name = "VDD_ALIVE_0.9V_AP";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <900000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo2_reg: LDO2 {
>> + regulator-name = "VDDQ_MMC2_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo3_reg: LDO3 {
>> + regulator-name = "VDD1_E_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo4_reg: LDO4 {
>> + regulator-name = "VDD10_MIF_PLL_1.0V_AP";
>> + regulator-min-microvolt = <1300000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo5_reg: LDO5 {
>> + regulator-name = "VDD10_DPLL_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo6_reg: LDO6 {
>> + regulator-name = "VDD10_MIPI2L_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo7_reg: LDO7 {
>> + regulator-name = "VDD18_MIPI2L_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo8_reg: LDO8 {
>> + regulator-name = "VDD18_LLI_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo9_reg: LDO9 {
>> + regulator-name = "VDD18_ABB_ETC_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo10_reg: LDO10 {
>> + regulator-name = "VDD33_USB30_3.0V_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo11_reg: LDO11 {
>> + regulator-name = "VDD_INT_M_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo12_reg: LDO12 {
>> + regulator-name = "VDD_KFC_M_1.1V_AP";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo13_reg: LDO13 {
>> + regulator-name = "VDD_G3D_M_0.95V_AP";
>> + regulator-min-microvolt = <950000>;
>> + regulator-max-microvolt = <950000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo14_reg: LDO14 {
>> + regulator-name = "VDDQ_M1_LDO_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo15_reg: LDO15 {
>> + regulator-name = "VDDQ_M2_LDO_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo16_reg: LDO16 {
>> + regulator-name = "VDDQ_EFUSE";
>> + regulator-min-microvolt = <1400000>;
>> + regulator-max-microvolt = <3400000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo17_reg: LDO17 {
>> + regulator-name = "V_TFLASH_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo18_reg: LDO18 {
>> + regulator-name = "V_CODEC_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo19_reg: LDO19 {
>> + regulator-name = "VDDA_1.8V_COMP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo20_reg: LDO20 {
>> + regulator-name = "VCC_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo21_reg: LDO21 {
>> + regulator-name = "VT_CAM_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo22_reg: LDO22 {
>> + regulator-name = "CAM_IO_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo23_reg: LDO23 {
>> + regulator-name = "CAM_SEN_CORE_1.2V_AP";
>> + regulator-min-microvolt = <1050000>;
>> + regulator-max-microvolt = <1200000>;
>> + };
>> +
>> + ldo24_reg: LDO24 {
>> + regulator-name = "VT_CAM_1.2V";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + };
>> +
>> + ldo25_reg: LDO25 {
>> + regulator-name = "CAM_SEN_A2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo26_reg: LDO26 {
>> + regulator-name = "CAM_AF_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo27_reg: LDO27 {
>> + regulator-name = "VCC_3.0V_LCD_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo28_reg: LDO28 {
>> + regulator-name = "VCC_1.8V_LCD_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo29_reg: LDO29 {
>> + regulator-name = "VT_CAM_2.8V";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo30_reg: LDO30 {
>> + regulator-name = "TSP_AVDD_3.3V_AP";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + ldo31_reg: LDO31 {
>> + regulator-name = "TSP_VDD_1.85V_AP";
>> + regulator-min-microvolt = <1850000>;
>> + regulator-max-microvolt = <1850000>;
>> + regulator-boot-on;
>> + };
>> +
>> + ldo32_reg: LDO32 {
>> + regulator-name = "VTOUCH_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-boot-on;
>> + };
>> +
>> + ldo33_reg: LDO33 {
>> + regulator-name = "VTOUCH_LED_3.3V";
>> + regulator-min-microvolt = <2500000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-ramp-delay = <12500>;
>> + };
>> +
>> + ldo34_reg: LDO34 {
>> + regulator-name = "VCC_1.8V_MHL_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <2100000>;
>> + };
>> +
>> + ldo35_reg: LDO35 {
>> + regulator-name = "OIS_VM_2.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo36_reg: LDO36 {
>> + regulator-name = "VSIL_1.0V";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + };
>> +
>> + ldo37_reg: LDO37 {
>> + regulator-name = "VF_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo38_reg: LDO38 {
>> + regulator-name = "VCC_3.0V_MOTOR_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + };
>> +
>> + ldo39_reg: LDO39 {
>> + regulator-name = "V_HRM_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo40_reg: LDO40 {
>> + regulator-name = "V_HRM_3.3V";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + buck1_reg: BUCK1 {
>> + regulator-name = "VDD_MIF_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck2_reg: BUCK2 {
>> + regulator-name = "VDD_EGL_1.0V_AP";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck3_reg: BUCK3 {
>> + regulator-name = "VDD_KFC_1.0V_AP";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck4_reg: BUCK4 {
>> + regulator-name = "VDD_INT_0.95V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck5_reg: BUCK5 {
>> + regulator-name = "VDD_DISP_CAM0_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck6_reg: BUCK6 {
>> + regulator-name = "VDD_G3D_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck7_reg: BUCK7 {
>> + regulator-name = "VDD_MEM1_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck8_reg: BUCK8 {
>> + regulator-name = "VDD_LLDO_1.35V_AP";
>> + regulator-min-microvolt = <1350000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck9_reg: BUCK9 {
>> + regulator-name = "VDD_MLDO_2.0V_AP";
>> + regulator-min-microvolt = <1350000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck10_reg: BUCK10 {
>> + regulator-name = "vdd_mem2";
>> + regulator-min-microvolt = <550000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_8 {
>> + status = "okay";
>> +
>> + max77843@66 {
>> + compatible = "samsung,max77843";
>
> There is no such compatible.
It is my mistake. I'll fix it using "maxim,max77843"
>
>> + interrupt-parent = <&gpa1>;
>> + interrupts = <5 2>;
>
> IRQ_TYPE_EDGE_FALLING
OK.
>
>> + reg = <0x66>;
>> + wakeup;
>
> Ditto - wakeup.
I'll remove it.
>
>> +
>> + muic: max77843-muic {
>> + compatible = "maxim,max77843-muic";
>> + };
>> +
>> + regulators {
>> + compatible = "maxim,max77843-regulator";
>
> BTW, It's a pity that max77843 submission was not finished. These
> compatibles are not documented. Also the charger driver did not reach
> mainline. The fuelgauge probably has wrong compatible in MFD driver.
The "max77843-regulator"[1] was merged to driver/regulator/max77693-regulator.c.
[1] 9e9a08e86733d (regulator: max77693: Add support for MAX77843 device)
I know the charger/fuel-gauge was not finished. I'll again post them. So,
this patch don't include the charger/fuel-gauge dt node.
>
>> + safeout1_reg: SAFEOUT1 {
>> + regulator-name = "SAFEOUT1";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <4950000>;
>> + };
>> +
>> + safeout2_reg: SAFEOUT2 {
>> + regulator-name = "SAFEOUT2";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <4950000>;
>> + };
>> +
>> + charger_reg: CHARGER {
>> + regulator-name = "CHARGER";
>> + regulator-min-microamp = <100000>;
>> + regulator-max-microamp = <3150000>;
>> + };
>> + };
>> +
>> + haptic: max77843-haptic {
>> + compatible = "maxim,max77843-haptic";
>> + haptic-supply = <&ldo38_reg>;
>> + pwms = <&pwm 0 33670 0>;
>> + pwm-names = "haptic";
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_11 {
>> + status = "okay";
>
> What is inside? How does it work if there is no child device specified?
It is unneeded. I'll remove it.
>
>> +};
>> +
>> +&i2s0 {
>> + status = "okay";
>> +};
>> +
>> +&lpass {
>> + status = "okay";
>> +};
>> +
>> +&mshc_0 {
>> + status = "okay";
>> + num-slots = <1>;
>> + broken-cd;
>> + non-removable;
>
> Putting both properties - broken and non-removable - is not supported.
> Please choose one.
I'll remove the 'broken-cd' property.
>
>> + card-detect-delay = <200>;
>> + samsung,dw-mshc-ciu-div = <3>;
>> + samsung,dw-mshc-sdr-timing = <0 4>;
>> + samsung,dw-mshc-ddr-timing = <0 2>;
>> + samsung,dw-mshc-hs400-timing = <0 3>;
>> + samsung,read-strobe-delay = <90>;
>> + fifo-depth = <0x80>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rdqs>;
>> + bus-width = <8>;
>> + assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
>> + assigned-clock-rates = <800000000>;
>> +};
>> +
>> +&pinctrl_alive {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_alive>;
>> +
>> + initial_alive: initial-state {
>> + PIN(IN, gpa0-0, DOWN, LV1);
>> + PIN(IN, gpa0-1, NONE, LV1);
>> + PIN(IN, gpa0-2, DOWN, LV1);
>> + PIN(IN, gpa0-3, NONE, LV1);
>> + PIN(IN, gpa0-4, NONE, LV1);
>> + PIN(IN, gpa0-5, DOWN, LV1);
>> + PIN(IN, gpa0-6, NONE, LV1);
>> + PIN(IN, gpa0-7, NONE, LV1);
>> +
>> + PIN(IN, gpa1-0, UP, LV1);
>> + PIN(IN, gpa1-1, NONE, LV1);
>> + PIN(IN, gpa1-2, NONE, LV1);
>> + PIN(IN, gpa1-3, DOWN, LV1);
>> + PIN(IN, gpa1-4, DOWN, LV1);
>> + PIN(IN, gpa1-5, NONE, LV1);
>> + PIN(IN, gpa1-6, NONE, LV1);
>> + PIN(IN, gpa1-7, NONE, LV1);
>> +
>> + PIN(IN, gpa2-0, NONE, LV1);
>> + PIN(IN, gpa2-1, NONE, LV1);
>> + PIN(IN, gpa2-2, NONE, LV1);
>> + PIN(IN, gpa2-3, DOWN, LV1);
>> + PIN(IN, gpa2-4, NONE, LV1);
>> + PIN(IN, gpa2-5, DOWN, LV1);
>> + PIN(IN, gpa2-6, DOWN, LV1);
>> + PIN(IN, gpa2-7, NONE, LV1);
>> +
>> + PIN(IN, gpa3-0, DOWN, LV1);
>> + PIN(IN, gpa3-1, DOWN, LV1);
>> + PIN(IN, gpa3-2, NONE, LV1);
>> + PIN(IN, gpa3-3, DOWN, LV1);
>> + PIN(IN, gpa3-4, NONE, LV1);
>> + PIN(IN, gpa3-5, DOWN, LV1);
>> + PIN(IN, gpa3-6, DOWN, LV1);
>> + PIN(IN, gpa3-7, DOWN, LV1);
>> +
>> + PIN(IN, gpf1-0, NONE, LV1);
>> + PIN(IN, gpf1-1, NONE, LV1);
>> + PIN(IN, gpf1-2, DOWN, LV1);
>> + PIN(IN, gpf1-4, UP, LV1);
>> + PIN(OUT, gpf1-5, NONE, LV1);
>> + PIN(IN, gpf1-6, DOWN, LV1);
>> + PIN(IN, gpf1-7, DOWN, LV1);
>> +
>> + PIN(IN, gpf2-0, DOWN, LV1);
>> + PIN(IN, gpf2-1, DOWN, LV1);
>> + PIN(IN, gpf2-2, DOWN, LV1);
>> + PIN(IN, gpf2-3, DOWN, LV1);
>> +
>> + PIN(IN, gpf3-0, DOWN, LV1);
>> + PIN(IN, gpf3-1, DOWN, LV1);
>> + PIN(IN, gpf3-2, NONE, LV1);
>> + PIN(IN, gpf3-3, DOWN, LV1);
>> +
>> + PIN(IN, gpf4-0, DOWN, LV1);
>> + PIN(IN, gpf4-1, DOWN, LV1);
>> + PIN(IN, gpf4-2, DOWN, LV1);
>> + PIN(IN, gpf4-3, DOWN, LV1);
>> + PIN(IN, gpf4-4, DOWN, LV1);
>> + PIN(IN, gpf4-5, DOWN, LV1);
>> + PIN(IN, gpf4-6, DOWN, LV1);
>> + PIN(IN, gpf4-7, DOWN, LV1);
>> +
>> + PIN(IN, gpf5-0, DOWN, LV1);
>> + PIN(IN, gpf5-1, DOWN, LV1);
>> + PIN(IN, gpf5-2, DOWN, LV1);
>> + PIN(IN, gpf5-3, DOWN, LV1);
>> + PIN(OUT, gpf5-4, NONE, LV1);
>> + PIN(IN, gpf5-5, DOWN, LV1);
>> + PIN(IN, gpf5-6, DOWN, LV1);
>> + PIN(IN, gpf5-7, DOWN, LV1);
>> + };
>> +
>> + te_irq: te_irq {
>> + samsung,pins = "gpf1-3";
>> + samsung,pin-function = <0xf>;
>> + };
>> +};
>> +
>> +&pinctrl_cpif {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_cpif>;
>> +
>> + initial_cpif: initial-state {
>> + PIN(IN, gpv6-0, DOWN, LV1);
>> + PIN(IN, gpv6-1, DOWN, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_ese {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_ese>;
>> +
>> + initial_ese: initial-state {
>> + PIN(IN, gpj2-0, DOWN, LV1);
>> + PIN(IN, gpj2-1, DOWN, LV1);
>> + PIN(IN, gpj2-2, DOWN, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_fsys {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_fsys>;
>> +
>> + initial_fsys: initial-state {
>> + PIN(IN, gpr3-0, NONE, LV1);
>> + PIN(IN, gpr3-1, DOWN, LV1);
>> + PIN(IN, gpr3-2, DOWN, LV1);
>> + PIN(IN, gpr3-3, DOWN, LV1);
>> + PIN(IN, gpr3-7, NONE, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_imem {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_imem>;
>> +
>> + initial_imem: initial-state {
>> + PIN(IN, gpf0-0, UP, LV1);
>> + PIN(IN, gpf0-1, UP, LV1);
>> + PIN(IN, gpf0-2, DOWN, LV1);
>> + PIN(IN, gpf0-3, UP, LV1);
>> + PIN(IN, gpf0-4, DOWN, LV1);
>> + PIN(IN, gpf0-5, NONE, LV1);
>> + PIN(IN, gpf0-6, DOWN, LV1);
>> + PIN(IN, gpf0-7, UP, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_nfc {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_nfc>;
>> +
>> + initial_nfc: initial-state {
>> + PIN(IN, gpj0-2, DOWN, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_peric {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_peric>;
>> +
>> + initial_peric: initial-state {
>> + PIN(IN, gpv7-0, DOWN, LV1);
>> + PIN(IN, gpv7-1, DOWN, LV1);
>> + PIN(IN, gpv7-2, NONE, LV1);
>> + PIN(IN, gpv7-3, DOWN, LV1);
>> + PIN(IN, gpv7-4, DOWN, LV1);
>> + PIN(IN, gpv7-5, DOWN, LV1);
>> +
>> + PIN(IN, gpb0-4, DOWN, LV1);
>> +
>> + PIN(IN, gpc0-2, DOWN, LV1);
>> + PIN(IN, gpc0-5, DOWN, LV1);
>> + PIN(IN, gpc0-7, DOWN, LV1);
>> +
>> + PIN(IN, gpc1-1, DOWN, LV1);
>> +
>> + PIN(IN, gpc3-4, NONE, LV1);
>> + PIN(IN, gpc3-5, NONE, LV1);
>> + PIN(IN, gpc3-6, NONE, LV1);
>> + PIN(IN, gpc3-7, NONE, LV1);
>> +
>> + PIN(OUT, gpg0-0, NONE, LV1);
>> + PIN(FUNC1, gpg0-1, DOWN, LV1);
>> +
>> + PIN(IN, gpd2-5, DOWN, LV1);
>> +
>> + PIN(IN, gpd4-0, NONE, LV1);
>> + PIN(IN, gpd4-1, DOWN, LV1);
>> + PIN(IN, gpd4-2, DOWN, LV1);
>> + PIN(IN, gpd4-3, DOWN, LV1);
>> + PIN(IN, gpd4-4, DOWN, LV1);
>> +
>> + PIN(IN, gpd6-3, DOWN, LV1);
>> +
>> + PIN(IN, gpd8-1, UP, LV1);
>> +
>> + PIN(IN, gpg1-0, DOWN, LV1);
>> + PIN(IN, gpg1-1, DOWN, LV1);
>> + PIN(IN, gpg1-2, DOWN, LV1);
>> + PIN(IN, gpg1-3, DOWN, LV1);
>> + PIN(IN, gpg1-4, DOWN, LV1);
>> +
>> + PIN(IN, gpg2-0, DOWN, LV1);
>> + PIN(IN, gpg2-1, DOWN, LV1);
>> +
>> + PIN(IN, gpg3-0, DOWN, LV1);
>> + PIN(IN, gpg3-1, DOWN, LV1);
>> + PIN(IN, gpg3-5, DOWN, LV1);
>> + PIN(IN, gpg3-7, DOWN, LV1);
>> + };
>> +};
>> +
>> +&pinctrl_touch {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&initial_touch>;
>> +
>> + initial_touch: initial-state {
>> + PIN(IN, gpj1-2, DOWN, LV1);
>> + };
>> +};
>> +
>> +&pwm {
>> + pinctrl-0 = <&pwm0_out>;
>> + pinctrl-names = "default";
>> + status = "okay";
>> +};
>> +
>> +&mic {
>> + status = "okay";
>> +
>> + i80-if-timings {
>> + };
>> +};
>> +
>> +&serial_1 {
>> + status = "okay";
>> +};
>> +
>> +&spi_1 {
>> + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
>> + status = "okay";
>> +
>> + wm5110: wm5110-codec@0 {
>> + compatible = "wlf,wm5110";
>> + reg = <0x0>;
>> + spi-max-frequency = <20000000>;
>> + interrupt-parent = <&gpa0>;
>> + interrupts = <4 0 0>;
>
> Why three interrupt cells? Please use also IRQ_TYPE_NONE for flags.
Two interrupt cells is correct. I check it[2]
[2] Documentation/devicetree/bindings/mfd/arizona.txt
I'll fix it.
>
>> + clocks = <&xxti>, <&s2mps13_osc 2>;
>
> s/2/S2MPS11_CLK_BT/
OK.
Best Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-19 03:10 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s7GtR-7go-95@gated-at.bofh.it> |
| In reply to | #1463457 |
Hi Rob,
On 2016년 08월 19일 04:08, Rob Herring wrote:
> On Tue, Aug 16, 2016 at 03:35:27PM +0900, Chanwoo Choi wrote:
>> This patch adds the Device Tree source for Exynos5433-based Samsung TM2 board.
>> This board fully support the all things for mobile target.
>>
>> This patch supports the following devices:
>> 1. basic SoC
>> - Initial booting for Samsung Exynos5433 SoC
>> - DRAM LPDDR3 (3GB)
>> - eMMC (32GB)
>> - ARM architecture timer
>>
>> 2. power management devices
>> - Sasmung S2MPS13 PMIC for the power supply
>> - CPUFREQ for big.LITTLE cores
>> - TMU for big.LITTLE cores and GPU
>> - ADC with thermistor to measure the temperature of AP/Battery/Charger
>> - Maxim MAX77843 Interface PMIC (MUIC/Fuel-gauge/Charger/Haptic/LED/Regulator)
>>
>> 3. sound devices
>> - I2S for sound bus
>> - LPASS for sound power control
>> - Wolfson WM5110 for sound codec
>> - Maxim MAX98504 for speaker amplifier
>> - TM2 ASoC Machine device driver node
>>
>> 3. display devices
>> - DECON, DSI and MIC for the panel output
>>
>> 4. usb devices
>> - USB 3.0 DRD (Dual Role Device)
>> - USB 3.0 Host controller
>>
>> 5. storage devices
>> - MSHC (obile Storae Host Controller) for eMMC device
>>
>> 6. misc devices
>> - gpio-keys (power, volume up/down, home key)
>> - PWM (Pulse Width Modulation Timer)
>>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
>> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
>> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
>> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
>> Signed-off-by: Inha Song <ideal.song@samsung.com>
>> Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>> ---
>> .../bindings/arm/samsung/samsung-boards.txt | 1 +
>> arch/arm64/boot/dts/exynos/Makefile | 5 +-
>> arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1003 ++++++++++++++++++++
>> 3 files changed, 1008 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>>
>> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> index 0ea7f14ef294..c704b4bf6137 100644
>> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
>> @@ -15,6 +15,7 @@ Required root node properties:
>> - "samsung,xyref5260" - for Exynos5260-based Samsung board.
>> - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
>> - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
>> + - "samsung,tm2" - for Exynos5333-based Samsung TM2 board.
>> - "samsung,sd5v1" - for Exynos5440-based Samsung board.
>> - "samsung,ssdk5440" - for Exynos5440-based Samsung board.
>>
>> diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
>> index 50c9b9383cfa..7ddea53769a7 100644
>> --- a/arch/arm64/boot/dts/exynos/Makefile
>> +++ b/arch/arm64/boot/dts/exynos/Makefile
>> @@ -1,4 +1,7 @@
>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
>> +dtb-$(CONFIG_ARCH_EXYNOS) += \
>> + exynos5433-tm2.dtb \
>> + exynos5433-tm2e.dtb \
>> + exynos7-espresso.dtb
>>
>> always := $(dtb-y)
>> subdir-y := $(dts-dirs)
>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> new file mode 100644
>> index 000000000000..3e497b0d0015
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>> @@ -0,0 +1,1003 @@
>> +/*
>> + * SAMSUNG Exynos5433 TM2 board device tree source
>> + *
>> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
>> + *
>> + * Device tree source file for Samsung's TM2 board which is based on
>> + * Samsung Exynos5433 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 "exynos5433.dtsi"
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> + model = "Samsung TM2 board";
>> + compatible = "samsung,exynos5433-tm2", "samsung,exynos5433";
>> +
>> + aliases {
>> + i2c0 = &hsi2c_0;
>> + i2c1 = &hsi2c_1;
>> + i2c2 = &hsi2c_2;
>> + i2c3 = &hsi2c_3;
>> + i2c4 = &hsi2c_4;
>> + i2c5 = &hsi2c_5;
>> + i2c6 = &hsi2c_6;
>> + i2c7 = &hsi2c_7;
>> + i2c8 = &hsi2c_8;
>> + i2c9 = &hsi2c_9;
>> + i2c10 = &hsi2c_10;
>> + i2c11 = &hsi2c_11;
>> + mshc0 = &mshc_0;
>> + mshc1 = &mshc_1;
>> + mshc2 = &mshc_2;
>> + pinctrl0 = &pinctrl_alive;
>> + pinctrl1 = &pinctrl_aud;
>> + pinctrl2 = &pinctrl_cpif;
>> + pinctrl3 = &pinctrl_ese;
>> + pinctrl4 = &pinctrl_finger;
>> + pinctrl5 = &pinctrl_fsys;
>> + pinctrl6 = &pinctrl_imem;
>> + pinctrl7 = &pinctrl_nfc;
>> + pinctrl8 = &pinctrl_peric;
>> + pinctrl9 = &pinctrl_touch;
>> + serial0 = &serial_0;
>> + serial1 = &serial_1;
>> + serial2 = &serial_2;
>> + serial3 = &serial_3;
>> + spi0 = &spi_0;
>> + spi1 = &spi_1;
>> + spi2 = &spi_2;
>> + spi3 = &spi_3;
>> + spi4 = &spi_4;
>> + usbdrdphy0 = &usbdrd30_phy;
>
> Please drop all these aliases except for serial.
I'll remain the pinctrl/spi/serial and then drop the else aliases.
The alias id pinctrl/spi/serial are used.
>
>> + };
>> +
>> + chosen {
>> + stdout-path = &serial_1;
>> + };
>> +
>> + memory@20000000 {
>> + device_type = "memory";
>> + reg = <0x0 0x20000000 0x0 0xc0000000>;
>> + };
>> +
>> + gpio_keys {
>
> Use -, not _.
OK.
>> + compatible = "gpio-keys";
>> +
>> + power_key {
>
> ditto...
OK.
>
>> + gpios = <&gpa2 7 1>;
>> + linux,code = <KEY_POWER>;
>> + label = "power key";
>> + debounce-interval = <10>;
>> + gpio-key,wakeup;
>
> This is legacy. Use the common binding.
I'll remove it.
>
>> + };
>> +
>> + volume_up_key {
>> + gpios = <&gpa2 0 1>;
>> + linux,code = <KEY_VOLUMEUP>;
>> + label = "volume-up key";
>> + debounce-interval = <10>;
>> + };
>> +
>> + volume_down_key {
>> + gpios = <&gpa2 1 1>;
>> + linux,code = <KEY_VOLUMEDOWN>;
>> + label = "volume-down key";
>> + debounce-interval = <10>;
>> + };
>> +
>> + homepage_key {
>> + gpios = <&gpa0 3 1>;
>> + linux,code = <KEY_MENU>;
>> + label = "homepage key";
>> + debounce-interval = <10>;
>> + };
>> + };
>> +
>> + i2c_max98504: i2c-gpio-0 {
>> + compatible = "i2c-gpio";
>> + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
>> + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
>> + i2c-gpio,delay-us = <2>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + status = "okay";
>> +
>> + max98504: max98504@31 {
>> + compatible = "maxim,max98504";
>> + reg = <0x31>;
>> + maxim,rx-path = <1>;
>> + maxim,tx-path = <1>;
>> + maxim,tx-channel-mask = <3>;
>> + maxim,tx-channel-source = <2>;
>> + };
>> + };
>> +
>> + sound {
>> + compatible = "samsung,tm2-audio";
>> + audio-codec = <&wm5110>;
>> + i2s-controller = <&i2s0>;
>> + audio-amplifier = <&max98504>;
>> + mic-bias-gpios = <&gpr3 2 0>;
>> + model = "wm5110";
>> + samsung,audio-routing =
>> + /* Headphone */
>> + "HP", "HPOUT1L",
>> + "HP", "HPOUT1R",
>> +
>> + /* Speaker */
>> + "SPK", "SPKOUT",
>> + "SPKOUT", "HPOUT2L",
>> + "SPKOUT", "HPOUT2R",
>> +
>> + /* Receiver */
>> + "RCV", "HPOUT3L",
>> + "RCV", "HPOUT3R";
>> + status = "okay";
>> + };
>> +};
>> +
>> +&adc {
>> + vdd-supply = <&ldo3_reg>;
>> + status = "okay";
>> +
>> + thermistor-ap {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 0>;
>> + };
>> +
>> + thermistor_battery: thermistor-battery {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 1>;
>> + #thermal-sensor-cells = <0>;
>> + };
>> +
>> + thermistor-charger {
>> + compatible = "ntc,ncp03wf104";
>> + pullup-uv = <1800000>;
>> + pullup-ohm = <100000>;
>> + pulldown-ohm = <0>;
>> + io-channels = <&adc 2>;
>> + };
>> +};
>> +
>> +&cpu0 {
>> + cpu-supply = <&buck3_reg>;
>> +};
>> +
>> +&cpu4 {
>> + cpu-supply = <&buck2_reg>;
>> +};
>> +
>> +&decon {
>> + status = "okay";
>> + iommu-reserved-mapping = <0x20000000 0x20000000 0xc0000000>;
>> +
>> + i80-if-timings {
>> + };
>> +};
>> +
>> +&dsi {
>> + status = "okay";
>> + vddcore-supply = <&ldo6_reg>;
>> + vddio-supply = <&ldo7_reg>;
>> + samsung,pll-clock-frequency = <24000000>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&te_irq>;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@1 {
>> + reg = <1>;
>> +
>> + dsi_out: endpoint {
>> + samsung,burst-clock-frequency = <512000000>;
>> + samsung,esc-clock-frequency = <16000000>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_0 {
>> + status = "okay";
>> + clock-frequency = <2500000>;
>> +
>> + s2mps13_pmic@66 {
>
> Use '-'
OK.
>
>> + compatible = "samsung,s2mps13-pmic";
>> + interrupt-parent = <&gpa0>;
>> + interrupts = <7 0>;
>> + reg = <0x66>;
>> + wakeup;
>
> Use the common binding.
I'll remove it.
>
>> + samsung,s2mps11-wrstbi-ground;
>> +
>> + s2mps13_osc: clocks {
>> + compatible = "samsung,s2mps13-clk";
>> + #clock-cells = <1>;
>> + clock-output-names = "s2mps13_ap", "s2mps13_cp",
>> + "s2mps13_bt";
>> + };
>> +
>> + regulators {
>> + ldo1_reg: LDO1 {
>> + regulator-name = "VDD_ALIVE_0.9V_AP";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <900000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo2_reg: LDO2 {
>> + regulator-name = "VDDQ_MMC2_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo3_reg: LDO3 {
>> + regulator-name = "VDD1_E_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo4_reg: LDO4 {
>> + regulator-name = "VDD10_MIF_PLL_1.0V_AP";
>> + regulator-min-microvolt = <1300000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo5_reg: LDO5 {
>> + regulator-name = "VDD10_DPLL_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo6_reg: LDO6 {
>> + regulator-name = "VDD10_MIPI2L_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo7_reg: LDO7 {
>> + regulator-name = "VDD18_MIPI2L_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo8_reg: LDO8 {
>> + regulator-name = "VDD18_LLI_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo9_reg: LDO9 {
>> + regulator-name = "VDD18_ABB_ETC_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo10_reg: LDO10 {
>> + regulator-name = "VDD33_USB30_3.0V_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo11_reg: LDO11 {
>> + regulator-name = "VDD_INT_M_1.0V_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo12_reg: LDO12 {
>> + regulator-name = "VDD_KFC_M_1.1V_AP";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo13_reg: LDO13 {
>> + regulator-name = "VDD_G3D_M_0.95V_AP";
>> + regulator-min-microvolt = <950000>;
>> + regulator-max-microvolt = <950000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo14_reg: LDO14 {
>> + regulator-name = "VDDQ_M1_LDO_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo15_reg: LDO15 {
>> + regulator-name = "VDDQ_M2_LDO_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + ldo16_reg: LDO16 {
>> + regulator-name = "VDDQ_EFUSE";
>> + regulator-min-microvolt = <1400000>;
>> + regulator-max-microvolt = <3400000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo17_reg: LDO17 {
>> + regulator-name = "V_TFLASH_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo18_reg: LDO18 {
>> + regulator-name = "V_CODEC_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo19_reg: LDO19 {
>> + regulator-name = "VDDA_1.8V_COMP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo20_reg: LDO20 {
>> + regulator-name = "VCC_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo21_reg: LDO21 {
>> + regulator-name = "VT_CAM_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo22_reg: LDO22 {
>> + regulator-name = "CAM_IO_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo23_reg: LDO23 {
>> + regulator-name = "CAM_SEN_CORE_1.2V_AP";
>> + regulator-min-microvolt = <1050000>;
>> + regulator-max-microvolt = <1200000>;
>> + };
>> +
>> + ldo24_reg: LDO24 {
>> + regulator-name = "VT_CAM_1.2V";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + };
>> +
>> + ldo25_reg: LDO25 {
>> + regulator-name = "CAM_SEN_A2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo26_reg: LDO26 {
>> + regulator-name = "CAM_AF_2.8V_AP";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo27_reg: LDO27 {
>> + regulator-name = "VCC_3.0V_LCD_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo28_reg: LDO28 {
>> + regulator-name = "VCC_1.8V_LCD_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo29_reg: LDO29 {
>> + regulator-name = "VT_CAM_2.8V";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo30_reg: LDO30 {
>> + regulator-name = "TSP_AVDD_3.3V_AP";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + ldo31_reg: LDO31 {
>> + regulator-name = "TSP_VDD_1.85V_AP";
>> + regulator-min-microvolt = <1850000>;
>> + regulator-max-microvolt = <1850000>;
>> + regulator-boot-on;
>> + };
>> +
>> + ldo32_reg: LDO32 {
>> + regulator-name = "VTOUCH_1.8V_AP";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-boot-on;
>> + };
>> +
>> + ldo33_reg: LDO33 {
>> + regulator-name = "VTOUCH_LED_3.3V";
>> + regulator-min-microvolt = <2500000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-ramp-delay = <12500>;
>> + };
>> +
>> + ldo34_reg: LDO34 {
>> + regulator-name = "VCC_1.8V_MHL_AP";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <2100000>;
>> + };
>> +
>> + ldo35_reg: LDO35 {
>> + regulator-name = "OIS_VM_2.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + ldo36_reg: LDO36 {
>> + regulator-name = "VSIL_1.0V";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + };
>> +
>> + ldo37_reg: LDO37 {
>> + regulator-name = "VF_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + };
>> +
>> + ldo38_reg: LDO38 {
>> + regulator-name = "VCC_3.0V_MOTOR_AP";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + };
>> +
>> + ldo39_reg: LDO39 {
>> + regulator-name = "V_HRM_1.8V";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + };
>> +
>> + ldo40_reg: LDO40 {
>> + regulator-name = "V_HRM_3.3V";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + buck1_reg: BUCK1 {
>> + regulator-name = "VDD_MIF_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck2_reg: BUCK2 {
>> + regulator-name = "VDD_EGL_1.0V_AP";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck3_reg: BUCK3 {
>> + regulator-name = "VDD_KFC_1.0V_AP";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck4_reg: BUCK4 {
>> + regulator-name = "VDD_INT_0.95V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck5_reg: BUCK5 {
>> + regulator-name = "VDD_DISP_CAM0_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck6_reg: BUCK6 {
>> + regulator-name = "VDD_G3D_0.9V_AP";
>> + regulator-min-microvolt = <600000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + regulator-state-mem {
>> + regulator-off-in-suspend;
>> + };
>> + };
>> +
>> + buck7_reg: BUCK7 {
>> + regulator-name = "VDD_MEM1_1.2V_AP";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck8_reg: BUCK8 {
>> + regulator-name = "VDD_LLDO_1.35V_AP";
>> + regulator-min-microvolt = <1350000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck9_reg: BUCK9 {
>> + regulator-name = "VDD_MLDO_2.0V_AP";
>> + regulator-min-microvolt = <1350000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> +
>> + buck10_reg: BUCK10 {
>> + regulator-name = "vdd_mem2";
>> + regulator-min-microvolt = <550000>;
>> + regulator-max-microvolt = <1500000>;
>> + regulator-always-on;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&hsi2c_8 {
>> + status = "okay";
>> +
>> + max77843@66 {
>> + compatible = "samsung,max77843";
>> + interrupt-parent = <&gpa1>;
>> + interrupts = <5 2>;
>> + reg = <0x66>;
>> + wakeup;
>
> Use common binding.
I'll remove it.
>
>> +
>> + muic: max77843-muic {
>> + compatible = "maxim,max77843-muic";
>> + };
>
>
>
Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-08-19 03:30 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s7GtR-7go-99@gated-at.bofh.it> |
| In reply to | #1463457 |
On Tue, Aug 16, 2016 at 03:35:27PM +0900, Chanwoo Choi wrote:
> This patch adds the Device Tree source for Exynos5433-based Samsung TM2 board.
> This board fully support the all things for mobile target.
>
> This patch supports the following devices:
> 1. basic SoC
> - Initial booting for Samsung Exynos5433 SoC
> - DRAM LPDDR3 (3GB)
> - eMMC (32GB)
> - ARM architecture timer
>
> 2. power management devices
> - Sasmung S2MPS13 PMIC for the power supply
> - CPUFREQ for big.LITTLE cores
> - TMU for big.LITTLE cores and GPU
> - ADC with thermistor to measure the temperature of AP/Battery/Charger
> - Maxim MAX77843 Interface PMIC (MUIC/Fuel-gauge/Charger/Haptic/LED/Regulator)
>
> 3. sound devices
> - I2S for sound bus
> - LPASS for sound power control
> - Wolfson WM5110 for sound codec
> - Maxim MAX98504 for speaker amplifier
> - TM2 ASoC Machine device driver node
>
> 3. display devices
> - DECON, DSI and MIC for the panel output
>
> 4. usb devices
> - USB 3.0 DRD (Dual Role Device)
> - USB 3.0 Host controller
>
> 5. storage devices
> - MSHC (obile Storae Host Controller) for eMMC device
>
> 6. misc devices
> - gpio-keys (power, volume up/down, home key)
> - PWM (Pulse Width Modulation Timer)
>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
> Signed-off-by: Inha Song <ideal.song@samsung.com>
> Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> .../bindings/arm/samsung/samsung-boards.txt | 1 +
> arch/arm64/boot/dts/exynos/Makefile | 5 +-
> arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1003 ++++++++++++++++++++
> 3 files changed, 1008 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> index 0ea7f14ef294..c704b4bf6137 100644
> --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
> @@ -15,6 +15,7 @@ Required root node properties:
> - "samsung,xyref5260" - for Exynos5260-based Samsung board.
> - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
> - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
> + - "samsung,tm2" - for Exynos5333-based Samsung TM2 board.
> - "samsung,sd5v1" - for Exynos5440-based Samsung board.
> - "samsung,ssdk5440" - for Exynos5440-based Samsung board.
>
> diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
> index 50c9b9383cfa..7ddea53769a7 100644
> --- a/arch/arm64/boot/dts/exynos/Makefile
> +++ b/arch/arm64/boot/dts/exynos/Makefile
> @@ -1,4 +1,7 @@
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
> +dtb-$(CONFIG_ARCH_EXYNOS) += \
> + exynos5433-tm2.dtb \
> + exynos5433-tm2e.dtb \
> + exynos7-espresso.dtb
>
> always := $(dtb-y)
> subdir-y := $(dts-dirs)
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> new file mode 100644
> index 000000000000..3e497b0d0015
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts
> @@ -0,0 +1,1003 @@
> +/*
> + * SAMSUNG Exynos5433 TM2 board device tree source
> + *
> + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
> + *
> + * Device tree source file for Samsung's TM2 board which is based on
> + * Samsung Exynos5433 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 "exynos5433.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung TM2 board";
> + compatible = "samsung,exynos5433-tm2", "samsung,exynos5433";
> +
> + aliases {
> + i2c0 = &hsi2c_0;
> + i2c1 = &hsi2c_1;
> + i2c2 = &hsi2c_2;
> + i2c3 = &hsi2c_3;
> + i2c4 = &hsi2c_4;
> + i2c5 = &hsi2c_5;
> + i2c6 = &hsi2c_6;
> + i2c7 = &hsi2c_7;
> + i2c8 = &hsi2c_8;
> + i2c9 = &hsi2c_9;
> + i2c10 = &hsi2c_10;
> + i2c11 = &hsi2c_11;
> + mshc0 = &mshc_0;
> + mshc1 = &mshc_1;
> + mshc2 = &mshc_2;
> + pinctrl0 = &pinctrl_alive;
> + pinctrl1 = &pinctrl_aud;
> + pinctrl2 = &pinctrl_cpif;
> + pinctrl3 = &pinctrl_ese;
> + pinctrl4 = &pinctrl_finger;
> + pinctrl5 = &pinctrl_fsys;
> + pinctrl6 = &pinctrl_imem;
> + pinctrl7 = &pinctrl_nfc;
> + pinctrl8 = &pinctrl_peric;
> + pinctrl9 = &pinctrl_touch;
> + serial0 = &serial_0;
> + serial1 = &serial_1;
> + serial2 = &serial_2;
> + serial3 = &serial_3;
> + spi0 = &spi_0;
> + spi1 = &spi_1;
> + spi2 = &spi_2;
> + spi3 = &spi_3;
> + spi4 = &spi_4;
> + usbdrdphy0 = &usbdrd30_phy;
Please drop all these aliases except for serial.
> + };
> +
> + chosen {
> + stdout-path = &serial_1;
> + };
> +
> + memory@20000000 {
> + device_type = "memory";
> + reg = <0x0 0x20000000 0x0 0xc0000000>;
> + };
> +
> + gpio_keys {
Use -, not _.
> + compatible = "gpio-keys";
> +
> + power_key {
ditto...
> + gpios = <&gpa2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
This is legacy. Use the common binding.
> + };
> +
> + volume_up_key {
> + gpios = <&gpa2 0 1>;
> + linux,code = <KEY_VOLUMEUP>;
> + label = "volume-up key";
> + debounce-interval = <10>;
> + };
> +
> + volume_down_key {
> + gpios = <&gpa2 1 1>;
> + linux,code = <KEY_VOLUMEDOWN>;
> + label = "volume-down key";
> + debounce-interval = <10>;
> + };
> +
> + homepage_key {
> + gpios = <&gpa0 3 1>;
> + linux,code = <KEY_MENU>;
> + label = "homepage key";
> + debounce-interval = <10>;
> + };
> + };
> +
> + i2c_max98504: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
> + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
> + i2c-gpio,delay-us = <2>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + max98504: max98504@31 {
> + compatible = "maxim,max98504";
> + reg = <0x31>;
> + maxim,rx-path = <1>;
> + maxim,tx-path = <1>;
> + maxim,tx-channel-mask = <3>;
> + maxim,tx-channel-source = <2>;
> + };
> + };
> +
> + sound {
> + compatible = "samsung,tm2-audio";
> + audio-codec = <&wm5110>;
> + i2s-controller = <&i2s0>;
> + audio-amplifier = <&max98504>;
> + mic-bias-gpios = <&gpr3 2 0>;
> + model = "wm5110";
> + samsung,audio-routing =
> + /* Headphone */
> + "HP", "HPOUT1L",
> + "HP", "HPOUT1R",
> +
> + /* Speaker */
> + "SPK", "SPKOUT",
> + "SPKOUT", "HPOUT2L",
> + "SPKOUT", "HPOUT2R",
> +
> + /* Receiver */
> + "RCV", "HPOUT3L",
> + "RCV", "HPOUT3R";
> + status = "okay";
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> +
> + thermistor-ap {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor_battery: thermistor-battery {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 1>;
> + #thermal-sensor-cells = <0>;
> + };
> +
> + thermistor-charger {
> + compatible = "ntc,ncp03wf104";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <0>;
> + io-channels = <&adc 2>;
> + };
> +};
> +
> +&cpu0 {
> + cpu-supply = <&buck3_reg>;
> +};
> +
> +&cpu4 {
> + cpu-supply = <&buck2_reg>;
> +};
> +
> +&decon {
> + status = "okay";
> + iommu-reserved-mapping = <0x20000000 0x20000000 0xc0000000>;
> +
> + i80-if-timings {
> + };
> +};
> +
> +&dsi {
> + status = "okay";
> + vddcore-supply = <&ldo6_reg>;
> + vddio-supply = <&ldo7_reg>;
> + samsung,pll-clock-frequency = <24000000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&te_irq>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@1 {
> + reg = <1>;
> +
> + dsi_out: endpoint {
> + samsung,burst-clock-frequency = <512000000>;
> + samsung,esc-clock-frequency = <16000000>;
> + };
> + };
> + };
> +};
> +
> +&hsi2c_0 {
> + status = "okay";
> + clock-frequency = <2500000>;
> +
> + s2mps13_pmic@66 {
Use '-'
> + compatible = "samsung,s2mps13-pmic";
> + interrupt-parent = <&gpa0>;
> + interrupts = <7 0>;
> + reg = <0x66>;
> + wakeup;
Use the common binding.
> + samsung,s2mps11-wrstbi-ground;
> +
> + s2mps13_osc: clocks {
> + compatible = "samsung,s2mps13-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps13_ap", "s2mps13_cp",
> + "s2mps13_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VDD_ALIVE_0.9V_AP";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VDDQ_MMC2_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VDD1_E_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VDD10_MIF_PLL_1.0V_AP";
> + regulator-min-microvolt = <1300000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VDD10_DPLL_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VDD10_MIPI2L_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VDD18_MIPI2L_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VDD18_LLI_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "VDD18_ABB_ETC_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "VDD33_USB30_3.0V_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "VDD_INT_M_1.0V_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "VDD_KFC_M_1.1V_AP";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VDD_G3D_M_0.95V_AP";
> + regulator-min-microvolt = <950000>;
> + regulator-max-microvolt = <950000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "VDDQ_M1_LDO_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "VDDQ_M2_LDO_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "VDDQ_EFUSE";
> + regulator-min-microvolt = <1400000>;
> + regulator-max-microvolt = <3400000>;
> + regulator-always-on;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "V_TFLASH_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "V_CODEC_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "VDDA_1.8V_COMP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "VCC_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "VT_CAM_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "CAM_IO_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "CAM_SEN_CORE_1.2V_AP";
> + regulator-min-microvolt = <1050000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "VT_CAM_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "CAM_SEN_A2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo26_reg: LDO26 {
> + regulator-name = "CAM_AF_2.8V_AP";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo27_reg: LDO27 {
> + regulator-name = "VCC_3.0V_LCD_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo28_reg: LDO28 {
> + regulator-name = "VCC_1.8V_LCD_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo29_reg: LDO29 {
> + regulator-name = "VT_CAM_2.8V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo30_reg: LDO30 {
> + regulator-name = "TSP_AVDD_3.3V_AP";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo31_reg: LDO31 {
> + regulator-name = "TSP_VDD_1.85V_AP";
> + regulator-min-microvolt = <1850000>;
> + regulator-max-microvolt = <1850000>;
> + regulator-boot-on;
> + };
> +
> + ldo32_reg: LDO32 {
> + regulator-name = "VTOUCH_1.8V_AP";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-boot-on;
> + };
> +
> + ldo33_reg: LDO33 {
> + regulator-name = "VTOUCH_LED_3.3V";
> + regulator-min-microvolt = <2500000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-ramp-delay = <12500>;
> + };
> +
> + ldo34_reg: LDO34 {
> + regulator-name = "VCC_1.8V_MHL_AP";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <2100000>;
> + };
> +
> + ldo35_reg: LDO35 {
> + regulator-name = "OIS_VM_2.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + ldo36_reg: LDO36 {
> + regulator-name = "VSIL_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo37_reg: LDO37 {
> + regulator-name = "VF_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo38_reg: LDO38 {
> + regulator-name = "VCC_3.0V_MOTOR_AP";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + };
> +
> + ldo39_reg: LDO39 {
> + regulator-name = "V_HRM_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo40_reg: LDO40 {
> + regulator-name = "V_HRM_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VDD_MIF_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VDD_EGL_1.0V_AP";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VDD_KFC_1.0V_AP";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VDD_INT_0.95V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VDD_DISP_CAM0_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck6_reg: BUCK6 {
> + regulator-name = "VDD_G3D_0.9V_AP";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> +
> + buck7_reg: BUCK7 {
> + regulator-name = "VDD_MEM1_1.2V_AP";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + buck8_reg: BUCK8 {
> + regulator-name = "VDD_LLDO_1.35V_AP";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + buck9_reg: BUCK9 {
> + regulator-name = "VDD_MLDO_2.0V_AP";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> +
> + buck10_reg: BUCK10 {
> + regulator-name = "vdd_mem2";
> + regulator-min-microvolt = <550000>;
> + regulator-max-microvolt = <1500000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&hsi2c_8 {
> + status = "okay";
> +
> + max77843@66 {
> + compatible = "samsung,max77843";
> + interrupt-parent = <&gpa1>;
> + interrupts = <5 2>;
> + reg = <0x66>;
> + wakeup;
Use common binding.
> +
> + muic: max77843-muic {
> + compatible = "maxim,max77843-muic";
> + };
[toc] | [prev] | [next] | [standalone]
| From | Sylwester Nawrocki <s.nawrocki@samsung.com> |
|---|---|
| Date | 2016-08-19 19:20 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s7VCx-8rz-13@gated-at.bofh.it> |
| In reply to | #1463457 |
On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
> &spi_1 {
> + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +
> + wm5110: wm5110-codec@0 {
> + compatible = "wlf,wm5110";
> + reg = <0x0>;
> + spi-max-frequency = <20000000>;
> + interrupt-parent = <&gpa0>;
> + interrupts = <4 0 0>;
> + clocks = <&xxti>, <&s2mps13_osc 2>;
The first clock needs to be CLKOUT, i.e.
clocks = <&pmu_system_controller 0>, <&s2mps13_osc 2>;
--
Thanks,
Sylwester
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cwchoi00@gmail.com> |
|---|---|
| Date | 2016-08-21 09:50 +0200 |
| Subject | Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2 board |
| Message-ID | <s8vG1-5Tw-1@gated-at.bofh.it> |
| In reply to | #1466571 |
2016-08-20 2:05 GMT+09:00 Sylwester Nawrocki <s.nawrocki@samsung.com>:
> On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
>> &spi_1 {
>> + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
>> + status = "okay";
>> +
>> + wm5110: wm5110-codec@0 {
>> + compatible = "wlf,wm5110";
>> + reg = <0x0>;
>> + spi-max-frequency = <20000000>;
>> + interrupt-parent = <&gpa0>;
>> + interrupts = <4 0 0>;
>> + clocks = <&xxti>, <&s2mps13_osc 2>;
>
> The first clock needs to be CLKOUT, i.e.
>
> clocks = <&pmu_system_controller 0>, <&s2mps13_osc 2>;
>
OK.
--
Best Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | Sylwester Nawrocki <s.nawrocki@samsung.com> |
|---|---|
| Date | 2016-08-16 13:00 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s6Kg9-20U-5@gated-at.bofh.it> |
| In reply to | #1463443 |
Hi Chanwoo,
On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
> This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
> Octa-core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
> PSCI (Power State Coordination Interface) v0.1.
> ---
> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 1580 ++++++++++++++++++++
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> new file mode 100644
> index 000000000000..2a5b05744533
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> @@ -0,0 +1,1580 @@
> +
> +/ {
> + compatible = "samsung,exynos5433";
> + #address-cells = <2>;
> + #size-cells = <2>;
> + soc: soc {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x0 0x0 0x18000000>;
> + lpass: lpass@11400000 {
> + compatible = "samsung,exynos5433-lpass";
> + reg = <0x11400000 0x100>;
> + samsung,pmu-syscon = <&pmu_system_controller>;
> + status = "disabled";
> + };
> +
> + i2s0: i2s0@11440000 {
> + compatible = "samsung,exynos7-i2s";
> + reg = <0x11440000 0x100>;
> + dmas = <&adma 0 &adma 2>;
> + dma-names = "tx", "rx";
> + interrupts = <0 70 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&cmu_aud CLK_PCLK_AUD_I2S>,
> + <&cmu_aud CLK_SCLK_AUD_I2S>,
> + <&cmu_aud CLK_SCLK_I2S_BCLK>;
> + clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2s0_bus>;
> + status = "disabled";
> + };
> + serial_3: serial@11460000 {
> + compatible = "samsung,exynos5433-uart";
> + reg = <0x11460000 0x100>;
> + interrupts = <0 67 0>;
> + clocks = <&cmu_aud CLK_PCLK_AUD_UART>,
> + <&cmu_aud CLK_SCLK_AUD_UART>;
> + clock-names = "uart", "clk_uart_baud0";
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart_aud_bus>;
> + status = "disabled";
> + };
> +
> + amba {
> + compatible = "arm,amba-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> + adma: adma@11420000 {
> + compatible = "arm,pl330", "arm,primecell";
> + reg = <0x11420000 0x1000>;
> + interrupts = <0 73 0>;
> + clocks = <&cmu_aud CLK_ACLK_DMAC>;
> + clock-names = "apb_pclk";
> + #dma-cells = <1>;
> + #dma-channels = <8>;
> + #dma-requests = <32>;
> + };
> + };
> + };
The latest Exynos5433 Audio Subsystem bindings look like this
https://git.linuxtv.org/snawrocki/samsung.git/commit/?h=for-v4.9/mfd/exynos-lpass-v5&id=104cc6ad3ecc7c4c8ecf73663b93eb48b78f35aa
i.e. adma@11420000, i2s0@11440000, serial@11460000 should be subnodes of
the lpass@11400000 node.
--
Thanks,
Sylwester
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-16 15:10 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s6MhX-3vc-17@gated-at.bofh.it> |
| In reply to | #1463680 |
Hi Sylwester,
On 2016년 08월 16일 19:50, Sylwester Nawrocki wrote:
> Hi Chanwoo,
>
> On 08/16/2016 08:35 AM, Chanwoo Choi wrote:
>> This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
>> Octa-core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
>> PSCI (Power State Coordination Interface) v0.1.
>
>> ---
>> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 1580 ++++++++++++++++++++
>
>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
>> b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
>> new file mode 100644
>> index 000000000000..2a5b05744533
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
>> @@ -0,0 +1,1580 @@
>
>> +
>> +/ {
>> + compatible = "samsung,exynos5433";
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>
>> + soc: soc {
>> + compatible = "simple-bus";
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x0 0x0 0x0 0x18000000>;
>
>> + lpass: lpass@11400000 {
>> + compatible = "samsung,exynos5433-lpass";
>> + reg = <0x11400000 0x100>;
>> + samsung,pmu-syscon = <&pmu_system_controller>;
>> + status = "disabled";
>> + };
>> +
>> + i2s0: i2s0@11440000 {
>> + compatible = "samsung,exynos7-i2s";
>> + reg = <0x11440000 0x100>;
>> + dmas = <&adma 0 &adma 2>;
>> + dma-names = "tx", "rx";
>> + interrupts = <0 70 0>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + clocks = <&cmu_aud CLK_PCLK_AUD_I2S>,
>> + <&cmu_aud CLK_SCLK_AUD_I2S>,
>> + <&cmu_aud CLK_SCLK_I2S_BCLK>;
>> + clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&i2s0_bus>;
>> + status = "disabled";
>> + };
>
>> + serial_3: serial@11460000 {
>> + compatible = "samsung,exynos5433-uart";
>> + reg = <0x11460000 0x100>;
>> + interrupts = <0 67 0>;
>> + clocks = <&cmu_aud CLK_PCLK_AUD_UART>,
>> + <&cmu_aud CLK_SCLK_AUD_UART>;
>> + clock-names = "uart", "clk_uart_baud0";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&uart_aud_bus>;
>> + status = "disabled";
>> + };
>> +
>
>> + amba {
>> + compatible = "arm,amba-bus";
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges;
>
>> + adma: adma@11420000 {
>> + compatible = "arm,pl330", "arm,primecell";
>> + reg = <0x11420000 0x1000>;
>> + interrupts = <0 73 0>;
>> + clocks = <&cmu_aud CLK_ACLK_DMAC>;
>> + clock-names = "apb_pclk";
>> + #dma-cells = <1>;
>> + #dma-channels = <8>;
>> + #dma-requests = <32>;
>> + };
>> + };
>> + };
>
> The latest Exynos5433 Audio Subsystem bindings look like this
> https://git.linuxtv.org/snawrocki/samsung.git/commit/?h=for-v4.9/mfd/exynos-lpass-v5&id=104cc6ad3ecc7c4c8ecf73663b93eb48b78f35aa
> i.e. adma@11420000, i2s0@11440000, serial@11460000 should be subnodes of
> the lpass@11400000 node.
OK. I'll use your latest patches for sound and then test it again.
Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | Krzysztof Kozlowski <k.kozlowski@samsung.com> |
|---|---|
| Date | 2016-08-16 20:00 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s6QOB-686-7@gated-at.bofh.it> |
| In reply to | #1463443 |
On Tue, Aug 16, 2016 at 09:59:26PM +0900, Chanwoo Choi wrote:
> >> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
> >> new file mode 100644
> >> index 000000000000..175121db367e
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
> >> @@ -0,0 +1,306 @@
> >> +/*
> >> + * Device tree sources for Exynos5433 thermal zone
> >> + *
> >> + * Copyright (c) 2016 Chanwoo Choi <cw00.choi@samsung.com>
> >> + *
> >> + * 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/thermal/thermal.h>
> >> +
> >> +/ {
> >> +thermal-zones {
> >> + atlas0_thermal: atlas0-thermal {
> >> + thermal-sensors = <&tmu_atlas0>;
> >> + polling-delay-passive = <0>;
> >> + polling-delay = <0>;
> >> + trips {
> >> + atlas0_alert_0: atlas0-alert-0 {
> >> + temperature = <50000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_1: atlas0-alert-1 {
> >> + temperature = <55000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_2: atlas0-alert-2 {
> >> + temperature = <60000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_3: atlas0-alert-3 {
> >> + temperature = <70000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_4: atlas0-alert-4 {
> >> + temperature = <80000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_5: atlas0-alert-5 {
> >> + temperature = <90000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >> + atlas0_alert_6: atlas0-alert-6 {
> >> + temperature = <95000>; /* millicelsius */
> >> + hysteresis = <1000>; /* millicelsius */
> >> + type = "active";
> >> + };
> >
> > No critical trip? I think it might be useful to shutdown the system in a
> > user-friendly way.
>
> When I use the critical trip, the following event occur[1].
> But, I guess that this temperature is not correct temperature
> because after completing the kernel booting, the temperature of big.LITTLE/G3D
> are normal when checking the /sys/class/thermal/thermal_zoneX/temp right after booting.
> - Maintain a uniform temperature(38 ~ 45 millicelsius) right after kernel booting.
>
> I guess that the critical interrupt may occur before initializing the exynos tmu.
> But, I don't spend the many time to check the exynos-tmu.c driver.
>
> [1]
> [ 445.122122] thermal thermal_zone0: critical temperature reached(108 C),shutting down
> [ 445.122399] exynos-tmu 10060000.tmu: Temperature sensor ID: 0xa
> [ 445.122588] exynos-tmu 10060000.tmu: Calibration type is 2-point calibration
> [ 445.127942] reboot: Failed to start orderly shutdown: forcing the issue
> [ 445.134586] Emergency Sync complete
> [ 1.097954] reboot: Power down
I understand. Apparently the exynos-tmu driver needs some fixes for
this race. Skipping critical then makes sense.
>
> >
> >> + };
> >> +
> >> + cooling-maps {
> >> + map0 {
> >> + /* Set maximum frequency as 1800MHz */
> >> + trip = <&atlas0_alert_0>;
> >> + cooling-device = <&cpu4 1 1>;
> >
> > Out of curiosity: why choosing specific cooling level (so quite fast
> > the device will slow down) instead of letting cooling framework to
> > decide how much to cool? Any particular reason behind this?
>
> This cooling level is just default value in cooling-maps.
> This value is able to overwrite on dts file.
>
> And the thermal subsystem support the cpu cooling features
> with 'cooling-maps'.
>
> Also, when I tested the performance and stress test
> with GLBenchmark, the temperature of big.LITTLE cores/G3D
> reach easily the critical temperature with 8 online cores.
> So, I add the cooling level aggressively to protect
> the system fault of CPU and GPU and to maintain
> the system state.
I was asking why you do not let cooling framework decide which cooling
level to use but instead you force a specific cooling level. Maybe code
will be a better example. Why not use:
map0 {
/* Set maximum frequency as 1800MHz */
trip = <&atlas0_alert_0>;
cooling-device = <&cpu4 0 1>;
}
map1 {
/* Set maximum frequency as 1700MHz */
trip = <&atlas0_alert_1>;
cooling-device = <&cpu4 1 2>;
};
For higher frequencies it makes even more sense:
map6 {
/* Set maximum frequency as 800MHz */
trip = <&atlas0_alert_6>;
cooling-device = <&cpu4 7 11>;
};
which allows the system to use suitable cooling level to maintain the
balance between performance and temperature dissipance, instead of some
fixed cooling level which might not be accurate to the system load.
Best regards,
Krzysztof
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-17 02:50 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s6Xdn-1TG-9@gated-at.bofh.it> |
| In reply to | #1463976 |
Hi Krzysztof,
On 2016년 08월 17일 02:51, Krzysztof Kozlowski wrote:
> On Tue, Aug 16, 2016 at 09:59:26PM +0900, Chanwoo Choi wrote:
>>>> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
>>>> new file mode 100644
>>>> index 000000000000..175121db367e
>>>> --- /dev/null
>>>> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
>>>> @@ -0,0 +1,306 @@
>>>> +/*
>>>> + * Device tree sources for Exynos5433 thermal zone
>>>> + *
>>>> + * Copyright (c) 2016 Chanwoo Choi <cw00.choi@samsung.com>
>>>> + *
>>>> + * 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/thermal/thermal.h>
>>>> +
>>>> +/ {
>>>> +thermal-zones {
>>>> + atlas0_thermal: atlas0-thermal {
>>>> + thermal-sensors = <&tmu_atlas0>;
>>>> + polling-delay-passive = <0>;
>>>> + polling-delay = <0>;
>>>> + trips {
>>>> + atlas0_alert_0: atlas0-alert-0 {
>>>> + temperature = <50000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_1: atlas0-alert-1 {
>>>> + temperature = <55000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_2: atlas0-alert-2 {
>>>> + temperature = <60000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_3: atlas0-alert-3 {
>>>> + temperature = <70000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_4: atlas0-alert-4 {
>>>> + temperature = <80000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_5: atlas0-alert-5 {
>>>> + temperature = <90000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>> + atlas0_alert_6: atlas0-alert-6 {
>>>> + temperature = <95000>; /* millicelsius */
>>>> + hysteresis = <1000>; /* millicelsius */
>>>> + type = "active";
>>>> + };
>>>
>>> No critical trip? I think it might be useful to shutdown the system in a
>>> user-friendly way.
>>
>> When I use the critical trip, the following event occur[1].
>> But, I guess that this temperature is not correct temperature
>> because after completing the kernel booting, the temperature of big.LITTLE/G3D
>> are normal when checking the /sys/class/thermal/thermal_zoneX/temp right after booting.
>> - Maintain a uniform temperature(38 ~ 45 millicelsius) right after kernel booting.
>>
>> I guess that the critical interrupt may occur before initializing the exynos tmu.
>> But, I don't spend the many time to check the exynos-tmu.c driver.
>>
>> [1]
>> [ 445.122122] thermal thermal_zone0: critical temperature reached(108 C),shutting down
>> [ 445.122399] exynos-tmu 10060000.tmu: Temperature sensor ID: 0xa
>> [ 445.122588] exynos-tmu 10060000.tmu: Calibration type is 2-point calibration
>> [ 445.127942] reboot: Failed to start orderly shutdown: forcing the issue
>> [ 445.134586] Emergency Sync complete
>> [ 1.097954] reboot: Power down
>
> I understand. Apparently the exynos-tmu driver needs some fixes for
> this race. Skipping critical then makes sense.
>
>>
>>>
>>>> + };
>>>> +
>>>> + cooling-maps {
>>>> + map0 {
>>>> + /* Set maximum frequency as 1800MHz */
>>>> + trip = <&atlas0_alert_0>;
>>>> + cooling-device = <&cpu4 1 1>;
>>>
>>> Out of curiosity: why choosing specific cooling level (so quite fast
>>> the device will slow down) instead of letting cooling framework to
>>> decide how much to cool? Any particular reason behind this?
>>
>> This cooling level is just default value in cooling-maps.
>> This value is able to overwrite on dts file.
>>
>> And the thermal subsystem support the cpu cooling features
>> with 'cooling-maps'.
>>
>> Also, when I tested the performance and stress test
>> with GLBenchmark, the temperature of big.LITTLE cores/G3D
>> reach easily the critical temperature with 8 online cores.
>> So, I add the cooling level aggressively to protect
>> the system fault of CPU and GPU and to maintain
>> the system state.
>
> I was asking why you do not let cooling framework decide which cooling
> level to use but instead you force a specific cooling level. Maybe code
> will be a better example. Why not use:
> map0 {
> /* Set maximum frequency as 1800MHz */
> trip = <&atlas0_alert_0>;
> cooling-device = <&cpu4 0 1>;
> }
> map1 {
> /* Set maximum frequency as 1700MHz */
> trip = <&atlas0_alert_1>;
> cooling-device = <&cpu4 1 2>;
> };
>
> For higher frequencies it makes even more sense:
> map6 {
> /* Set maximum frequency as 800MHz */
> trip = <&atlas0_alert_6>;
> cooling-device = <&cpu4 7 11>;
> };
>
> which allows the system to use suitable cooling level to maintain the
> balance between performance and temperature dissipance, instead of some
> fixed cooling level which might not be accurate to the system load.
Ah. I misunderstand of your question. OK. I'll expand the range of
cooling level as you suggested.
Best Regards,
Chanwoo Choi
[toc] | [prev] | [next] | [standalone]
| From | Marek Szyprowski <m.szyprowski@samsung.com> |
|---|---|
| Date | 2016-08-19 13:00 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s7PGN-4yC-17@gated-at.bofh.it> |
| In reply to | #1463443 |
Hello,
On 2016-08-16 08:35, Chanwoo Choi wrote:
> This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
> Octa-core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
> PSCI (Power State Coordination Interface) v0.1.
>
> This patch includes following Device Tree node to support Exynos5433 SoC:
> 1. Octa cores for big.LITTLE architecture
> - Cortex-A53 LITTLE Quad-core
> - Cortex-A57 big Quad-core
> - Support PSCI v0.1
>
> 2. Clock controller node
> - CMU_TOP : clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS
> - CMU_CPIF : clocks for LLI (Low Latency Interface)
> - CMU_MIF : clocks for DRAM Memory Controller
> - CMU_PERIC : clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS
> - CMU_PERIS : clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC
> - CMU_FSYS : clocks for USB/UFS/SDMMC/TSI/PDMA
> - CMU_G2D : clocks for G2D/MDMA
> - CMU_DISP : clocks for DECON/HDMI/DSIM/MIXER
> - CMU_AUD : clocks for Cortex-A5/BUS/AUDIO
> - CMU_BUS{0|1|2} : clocks for global data buses and global peripheral buses
> - CMU_G3D : clocks for 3D Graphics Engine
> - CMU_GSCL : clocks for GSCALER
> - CMU_APOLLO: clocks for Cortex-A53 Quad-core processor.
> - CMU_ATLAS : clocks for Cortex-A57 Quad-core processor,
> CoreSight and L2 cache controller.
> - CMU_MSCL : clocks for M2M (Memory to Memory) scaler and JPEG IPs.
> - CMU_MFC : clocks for MFC (Multi-Format Codec) IP.
> - CMU_HEVC : clocks for HEVC(High Efficiency Video Codec) decoder IP.
> - CMU_ISP : clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs.
> - CMU_CAM0 : clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs.
> - CMU_CAM1 : clocks for COrtex-A5/MIPI_CSIS2/FIMC_LITE_C/FIMC-FD IPs.
>
> 3. pinctrl node for GPIO
> - alive/aud/cpif/ese/finger/fsys/imem/nfc/peric/touch pad
>
> 4. Timer
> - ARM architecture timer (armv8-timer)
> - MCT (Multi Core Timer) timer
>
> 5. Interrupt controller (GIC-400)
>
> 6. BUS devices
> - HS-I2C (High-Speed I2C) device
> - SPI (Serial Peripheral Interface) device
>
> 7. Sound devices
> - I2S bus
> - LPASS (Low Power Audio Subsystem)
>
> 8. Power management devices
> - CPUFREQ for for Cortex-A53/A57
> - TMU (Thermal Management Unit) for Cortex-A53/A57, G3D, ISP
>
> 9. Display controller devices
> - DECON (Display and enhancement controller) for panel output
> - DSI (Display Serial Interface)
> - MIC (Mobile Image Compressor)
> - IOMMU for GSCL/DECON/TV/MFC/JPEG/FLITE/3AA/FIMC
I would prefer to instantiate only SYSMMU controllers for the devices that
have been already added, so initially there will by only SYSMMUs for DECON.
Other (GSCL, TV, MFC, JPEG, CAMERA ISP) can be added later together with
respective master device nodes.
> 10. USB
> - USB 3.0 DRD (Dual Role Device) controller
> - USB 3.0 Host controller
>
> 11. Storage devices
> - MSHC (Mobile Stoarage Host Controller)
>
> 12. Misc devices
> - UART device
> - ADC (Analog Digital Converter)
> - PWM (Pulse Width Modulation)
> - ADMA (Advanced DMA) and PDMA (Peripheral DMA)
>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
> Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
> Signed-off-by: Inha Song <ideal.song@samsung.com>
> Signed-off-by: Ingi kim <ingi2.kim@samsung.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi | 794 ++++++++++
> .../dts/exynos/exynos5433-tmu-g3d-sensor-conf.dtsi | 23 +
> .../dts/exynos/exynos5433-tmu-sensor-conf.dtsi | 22 +
> arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi | 306 ++++
> arch/arm64/boot/dts/exynos/exynos5433.dtsi | 1580 ++++++++++++++++++++
> 5 files changed, 2725 insertions(+)
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tmu-g3d-sensor-conf.dtsi
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tmu-sensor-conf.dtsi
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
> create mode 100644 arch/arm64/boot/dts/exynos/exynos5433.dtsi
(snipped)
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
[toc] | [prev] | [next] | [standalone]
| From | Chanwoo Choi <cw00.choi@samsung.com> |
|---|---|
| Date | 2016-08-23 05:00 +0200 |
| Subject | Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC |
| Message-ID | <s9a6u-6rM-7@gated-at.bofh.it> |
| In reply to | #1466288 |
Hi Marek,
On 2016년 08월 19일 19:48, Marek Szyprowski wrote:
> Hello,
>
>
> On 2016-08-16 08:35, Chanwoo Choi wrote:
>> This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
>> Octa-core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
>> PSCI (Power State Coordination Interface) v0.1.
>>
>> This patch includes following Device Tree node to support Exynos5433 SoC:
>> 1. Octa cores for big.LITTLE architecture
>> - Cortex-A53 LITTLE Quad-core
>> - Cortex-A57 big Quad-core
>> - Support PSCI v0.1
>>
>> 2. Clock controller node
>> - CMU_TOP : clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS
>> - CMU_CPIF : clocks for LLI (Low Latency Interface)
>> - CMU_MIF : clocks for DRAM Memory Controller
>> - CMU_PERIC : clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS
>> - CMU_PERIS : clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC
>> - CMU_FSYS : clocks for USB/UFS/SDMMC/TSI/PDMA
>> - CMU_G2D : clocks for G2D/MDMA
>> - CMU_DISP : clocks for DECON/HDMI/DSIM/MIXER
>> - CMU_AUD : clocks for Cortex-A5/BUS/AUDIO
>> - CMU_BUS{0|1|2} : clocks for global data buses and global peripheral buses
>> - CMU_G3D : clocks for 3D Graphics Engine
>> - CMU_GSCL : clocks for GSCALER
>> - CMU_APOLLO: clocks for Cortex-A53 Quad-core processor.
>> - CMU_ATLAS : clocks for Cortex-A57 Quad-core processor,
>> CoreSight and L2 cache controller.
>> - CMU_MSCL : clocks for M2M (Memory to Memory) scaler and JPEG IPs.
>> - CMU_MFC : clocks for MFC (Multi-Format Codec) IP.
>> - CMU_HEVC : clocks for HEVC(High Efficiency Video Codec) decoder IP.
>> - CMU_ISP : clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs.
>> - CMU_CAM0 : clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs.
>> - CMU_CAM1 : clocks for COrtex-A5/MIPI_CSIS2/FIMC_LITE_C/FIMC-FD IPs.
>>
>> 3. pinctrl node for GPIO
>> - alive/aud/cpif/ese/finger/fsys/imem/nfc/peric/touch pad
>>
>> 4. Timer
>> - ARM architecture timer (armv8-timer)
>> - MCT (Multi Core Timer) timer
>>
>> 5. Interrupt controller (GIC-400)
>>
>> 6. BUS devices
>> - HS-I2C (High-Speed I2C) device
>> - SPI (Serial Peripheral Interface) device
>>
>> 7. Sound devices
>> - I2S bus
>> - LPASS (Low Power Audio Subsystem)
>>
>> 8. Power management devices
>> - CPUFREQ for for Cortex-A53/A57
>> - TMU (Thermal Management Unit) for Cortex-A53/A57, G3D, ISP
>>
>> 9. Display controller devices
>> - DECON (Display and enhancement controller) for panel output
>> - DSI (Display Serial Interface)
>> - MIC (Mobile Image Compressor)
>> - IOMMU for GSCL/DECON/TV/MFC/JPEG/FLITE/3AA/FIMC
>
> I would prefer to instantiate only SYSMMU controllers for the devices that
> have been already added, so initially there will by only SYSMMUs for DECON.
> Other (GSCL, TV, MFC, JPEG, CAMERA ISP) can be added later together with
> respective master device nodes.
OK. I'll remove all SYSMMU dt nodes from exynos5433.dtsi
on next version.
[snip]
--
Best Regards,
Chanwoo Choi
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web