* [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-10-02 0:50 ` YoungJun Cho
0 siblings, 0 replies; 14+ messages in thread
From: YoungJun Cho @ 2014-10-02 0:50 UTC (permalink / raw)
To: linux-arm-kernel, linux-samsung-soc
Cc: kgene.kim, tomasz.figa, kyungmin.park, inki.dae, sw0312.kim,
cw00.choi, jh80.chung, geunsik.lim
From: Youngjun Cho <yj44.cho@samsung.com>
This patch adds new board dts file to support Samsung Monk board which is
based on Exynos3250 SoC and has different H/W configuration from Rinato.
This patch is based on linux-samsung.git for-next branch and depends on
[PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
This dts file support following features:
- eMMC
- Main PMIC (Samsung S2MPS14)
- Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
- RTC of Exynos3250
- ADC of Exynos3250 with NTC thermistor
- I2S of Exynos3250
- TMU of Exynos3250
- Secure firmware for Exynos3250 secondary cpu boot
- Serial ports of Exynos3250
- gpio-key for power key
[1] http://www.spinics.net/lists/arm-kernel/msg366849.html
Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
2 files changed, 594 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5728918..0c8ae64 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
da850-evm.dtb
dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
-dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
+ exynos3250-rinato.dtb \
exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
new file mode 100644
index 0000000..9e94294
--- /dev/null
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -0,0 +1,592 @@
+/*
+ * Samsung's Exynos3250 based Monk board device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Monk board which is based on
+ * Samsung Exynos3250 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 "exynos3250.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Samsung Monk board";
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
+
+ aliases {
+ i2c7 = &i2c_max77836;
+ };
+
+ memory {
+ reg = <0x40000000 0x08000000
+ 0x48000000 0x08000000
+ 0x50000000 0x08000000
+ 0x58000000 0x07F00000>;
+ };
+
+ chosen {
+ bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
+ };
+
+ firmware@0205F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0205F000 0x1000>;
+ } ;
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ power_key {
+ interrupt-parent = <&gpx2>;
+ interrupts = <7 0>;
+ gpios = <&gpx2 7 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vemmc_reg: voltage-regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "V_EMMC_2.8V-fixed";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpk0 2 0>;
+ enable-active-high;
+ };
+ };
+
+ i2c_max77836: i2c-gpio-0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpd0 2 0>, <&gpd0 3 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ max77836: subpmic@25 {
+ compatible = "maxim,max77836";
+ interrupt-parent = <&gpx1>;
+ interrupts = <5 0>;
+ reg = <0x25>;
+ wakeup;
+
+ muic: max77836-muic {
+ compatible = "maxim,max77836-muic";
+ };
+
+ regulators {
+ compatible = "maxim,max77836-regulator";
+ safeout_reg: SAFEOUT {
+ regulator-name = "SAFEOUT";
+ };
+
+ charger_reg: CHARGER {
+ regulator-name = "CHARGER";
+ regulator-min-microamp = <45000>;
+ regulator-max-microamp = <475000>;
+ regulator-boot-on;
+ };
+
+ motor_reg: LDO1 {
+ regulator-name = "MOT_2.7V";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <2700000>;
+ };
+
+ LDO2 {
+ regulator-name = "UNUSED_LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3950000>;
+ };
+ };
+
+ charger {
+ compatible = "maxim,max77836-charger";
+
+ maxim,constant-uvolt = <4350000>;
+ maxim,fast-charge-uamp = <225000>;
+ maxim,eoc-uamp = <7500>;
+ maxim,ovp-uvolt = <6500000>;
+ };
+ };
+ };
+};
+
+&adc {
+ vdd-supply = <&ldo3_reg>;
+ status = "okay";
+ assigned-clocks = <&cmu CLK_SCLK_TSADC>;
+ assigned-clock-rates = <6000000>;
+
+ thermistor-ap {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 0>;
+ };
+
+ thermistor-battery {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 1>;
+ };
+};
+
+&i2c_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <100000>;
+ status = "okay";
+
+ s2mps14_pmic@66 {
+ compatible = "samsung,s2mps14-pmic";
+ interrupt-parent = <&gpx0>;
+ interrupts = <7 0>;
+ reg = <0x66>;
+ wakeup;
+
+ s2mps14_osc: clocks {
+ compatible = "samsung,s2mps14-clk";
+ #clock-cells = <1>;
+ clock-output-names = "s2mps14_ap", "unused",
+ "s2mps14_bt";
+ };
+
+ regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "VAP_ALIVE_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "VAP_M1_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "VCC_AP_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "VAP_AVDD_PLL1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "VAP_PLL_ISO_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "VAP_MIPI_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "VAP_AVDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "VAP_USB_3.0V";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "V_LPDDR_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "UNUSED_LDO10";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "V_EMMC_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "V_EMMC_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "VSENSOR_2.85V";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ regulator-always-on;
+ };
+
+ ldo14_reg: LDO14 {
+ regulator-name = "UNUSED_LDO14";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "TSP_AVDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "LCD_VDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "UNUSED_LDO17";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "UNUSED_LDO18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "TSP_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo20_reg: LDO20 {
+ regulator-name = "LCD_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo21_reg: LDO21 {
+ regulator-name = "UNUSED_LDO21";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo22_reg: LDO22 {
+ regulator-name = "UNUSED_LDO22";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo23_reg: LDO23 {
+ regulator-name = "UNUSED_LDO23";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "UNUSED_LDO24";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo25_reg: LDO25 {
+ regulator-name = "UNUSED_LDO25";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "VAP_MIF_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "VAP_ARM_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "VAP_INT3D_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "VCC_SUB_1.95V";
+ regulator-min-microvolt = <1950000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "VCC_SUB_1.35V";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&i2c_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <400000>;
+ status = "okay";
+
+ fuelgauge@36 {
+ compatible = "maxim,max77836-battery";
+ interrupt-parent = <&gpx1>;
+ interrupts = <2 8>;
+ reg = <0x36>;
+ };
+};
+
+&i2s2 {
+ status = "okay";
+};
+
+&mshc_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-slots = <1>;
+ broken-cd;
+ non-removable;
+ cap-mmc-highspeed;
+ desc-num = <4>;
+ mmc-hs200-1_8v;
+ card-detect-delay = <200>;
+ vmmc-supply = <&vemmc_reg>;
+ clock-frequency = <100000000>;
+ clock-freq-min-max = <400000 100000000>;
+ samsung,dw-mshc-ciu-div = <1>;
+ samsung,dw-mshc-sdr-timing = <0 1>;
+ samsung,dw-mshc-ddr-timing = <1 2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&serial_0 {
+ assigned-clocks = <&cmu CLK_SCLK_UART0>;
+ assigned-clock-rates = <100000000>;
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&tmu {
+ vtmu-supply = <&ldo7_reg>;
+ status = "okay";
+};
+
+&rtc {
+ clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
+ clock-names = "rtc", "rtc_src";
+ status = "okay";
+};
+
+&xusbxti {
+ clock-frequency = <24000000>;
+};
+
+&pinctrl_0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep0>;
+
+ sleep0: sleep-state {
+ PIN_SLP(gpa0-0, INPUT, DOWN);
+ PIN_SLP(gpa0-1, INPUT, DOWN);
+ PIN_SLP(gpa0-2, INPUT, DOWN);
+ PIN_SLP(gpa0-3, INPUT, DOWN);
+ PIN_SLP(gpa0-4, INPUT, DOWN);
+ PIN_SLP(gpa0-5, INPUT, DOWN);
+ PIN_SLP(gpa0-6, INPUT, DOWN);
+ PIN_SLP(gpa0-7, INPUT, DOWN);
+
+ PIN_SLP(gpa1-0, INPUT, DOWN);
+ PIN_SLP(gpa1-1, INPUT, DOWN);
+ PIN_SLP(gpa1-2, INPUT, DOWN);
+ PIN_SLP(gpa1-3, INPUT, DOWN);
+ PIN_SLP(gpa1-4, INPUT, DOWN);
+ PIN_SLP(gpa1-5, INPUT, DOWN);
+
+ PIN_SLP(gpb-0, PREV, NONE);
+ PIN_SLP(gpb-1, PREV, NONE);
+ PIN_SLP(gpb-2, PREV, NONE);
+ PIN_SLP(gpb-3, PREV, NONE);
+ PIN_SLP(gpb-4, INPUT, DOWN);
+ PIN_SLP(gpb-5, INPUT, DOWN);
+ PIN_SLP(gpb-6, INPUT, DOWN);
+ PIN_SLP(gpb-7, INPUT, DOWN);
+
+ PIN_SLP(gpc0-0, INPUT, DOWN);
+ PIN_SLP(gpc0-1, INPUT, DOWN);
+ PIN_SLP(gpc0-2, INPUT, DOWN);
+ PIN_SLP(gpc0-3, INPUT, DOWN);
+ PIN_SLP(gpc0-4, INPUT, DOWN);
+
+ PIN_SLP(gpc1-0, INPUT, DOWN);
+ PIN_SLP(gpc1-1, INPUT, DOWN);
+ PIN_SLP(gpc1-2, INPUT, DOWN);
+ PIN_SLP(gpc1-3, INPUT, DOWN);
+ PIN_SLP(gpc1-4, INPUT, DOWN);
+
+ PIN_SLP(gpd0-0, INPUT, DOWN);
+ PIN_SLP(gpd0-1, INPUT, DOWN);
+ PIN_SLP(gpd0-2, INPUT, NONE);
+ PIN_SLP(gpd0-3, INPUT, NONE);
+
+ PIN_SLP(gpd1-0, INPUT, NONE);
+ PIN_SLP(gpd1-1, INPUT, NONE);
+ PIN_SLP(gpd1-2, INPUT, NONE);
+ PIN_SLP(gpd1-3, INPUT, NONE);
+ };
+};
+
+&pinctrl_1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep1>;
+
+ sleep1: sleep-state {
+ PIN_SLP(gpe0-0, PREV, NONE);
+ PIN_SLP(gpe0-1, PREV, NONE);
+ PIN_SLP(gpe0-2, INPUT, DOWN);
+ PIN_SLP(gpe0-3, INPUT, DOWN);
+ PIN_SLP(gpe0-4, PREV, NONE);
+ PIN_SLP(gpe0-5, INPUT, DOWN);
+ PIN_SLP(gpe0-6, INPUT, DOWN);
+ PIN_SLP(gpe0-7, INPUT, DOWN);
+
+ PIN_SLP(gpe1-0, INPUT, DOWN);
+ PIN_SLP(gpe1-1, PREV, NONE);
+ PIN_SLP(gpe1-2, INPUT, DOWN);
+ PIN_SLP(gpe1-3, INPUT, DOWN);
+ PIN_SLP(gpe1-4, INPUT, DOWN);
+ PIN_SLP(gpe1-5, INPUT, DOWN);
+ PIN_SLP(gpe1-6, INPUT, DOWN);
+ PIN_SLP(gpe1-7, INPUT, NONE);
+
+ PIN_SLP(gpe2-0, INPUT, NONE);
+ PIN_SLP(gpe2-1, INPUT, NONE);
+ PIN_SLP(gpe2-2, INPUT, NONE);
+
+ PIN_SLP(gpk0-0, INPUT, DOWN);
+ PIN_SLP(gpk0-1, INPUT, DOWN);
+ PIN_SLP(gpk0-2, OUT0, NONE);
+ PIN_SLP(gpk0-3, INPUT, DOWN);
+ PIN_SLP(gpk0-4, INPUT, DOWN);
+ PIN_SLP(gpk0-5, INPUT, DOWN);
+ PIN_SLP(gpk0-6, INPUT, DOWN);
+ PIN_SLP(gpk0-7, INPUT, DOWN);
+
+ PIN_SLP(gpk1-0, PREV, NONE);
+ PIN_SLP(gpk1-1, PREV, NONE);
+ PIN_SLP(gpk1-2, INPUT, DOWN);
+ PIN_SLP(gpk1-3, PREV, NONE);
+ PIN_SLP(gpk1-4, PREV, NONE);
+ PIN_SLP(gpk1-5, PREV, NONE);
+ PIN_SLP(gpk1-6, PREV, NONE);
+
+ PIN_SLP(gpk2-0, INPUT, DOWN);
+ PIN_SLP(gpk2-1, INPUT, DOWN);
+ PIN_SLP(gpk2-2, INPUT, DOWN);
+ PIN_SLP(gpk2-3, INPUT, DOWN);
+ PIN_SLP(gpk2-4, INPUT, DOWN);
+ PIN_SLP(gpk2-5, INPUT, DOWN);
+ PIN_SLP(gpk2-6, INPUT, DOWN);
+
+ PIN_SLP(gpl0-0, INPUT, DOWN);
+ PIN_SLP(gpl0-1, INPUT, DOWN);
+ PIN_SLP(gpl0-2, INPUT, DOWN);
+ PIN_SLP(gpl0-3, INPUT, DOWN);
+
+ PIN_SLP(gpm0-0, INPUT, DOWN);
+ PIN_SLP(gpm0-1, INPUT, DOWN);
+ PIN_SLP(gpm0-2, INPUT, DOWN);
+ PIN_SLP(gpm0-3, INPUT, DOWN);
+ PIN_SLP(gpm0-4, INPUT, DOWN);
+ PIN_SLP(gpm0-5, INPUT, DOWN);
+ PIN_SLP(gpm0-6, INPUT, DOWN);
+ PIN_SLP(gpm0-7, INPUT, DOWN);
+
+ PIN_SLP(gpm1-0, INPUT, DOWN);
+ PIN_SLP(gpm1-1, INPUT, DOWN);
+ PIN_SLP(gpm1-2, INPUT, DOWN);
+ PIN_SLP(gpm1-3, INPUT, DOWN);
+ PIN_SLP(gpm1-4, INPUT, DOWN);
+ PIN_SLP(gpm1-5, INPUT, DOWN);
+ PIN_SLP(gpm1-6, INPUT, DOWN);
+
+ PIN_SLP(gpm2-0, INPUT, DOWN);
+ PIN_SLP(gpm2-1, INPUT, DOWN);
+ PIN_SLP(gpm2-2, INPUT, DOWN);
+ PIN_SLP(gpm2-3, INPUT, DOWN);
+ PIN_SLP(gpm2-4, INPUT, DOWN);
+
+ PIN_SLP(gpm3-0, INPUT, DOWN);
+ PIN_SLP(gpm3-1, INPUT, DOWN);
+ PIN_SLP(gpm3-2, INPUT, DOWN);
+ PIN_SLP(gpm3-3, INPUT, DOWN);
+ PIN_SLP(gpm3-4, INPUT, DOWN);
+ PIN_SLP(gpm3-5, INPUT, DOWN);
+ PIN_SLP(gpm3-6, INPUT, DOWN);
+ PIN_SLP(gpm3-7, INPUT, DOWN);
+
+ PIN_SLP(gpm4-0, INPUT, DOWN);
+ PIN_SLP(gpm4-1, INPUT, DOWN);
+ PIN_SLP(gpm4-2, INPUT, DOWN);
+ PIN_SLP(gpm4-3, INPUT, DOWN);
+ PIN_SLP(gpm4-4, INPUT, DOWN);
+ PIN_SLP(gpm4-5, INPUT, DOWN);
+ PIN_SLP(gpm4-6, INPUT, DOWN);
+ PIN_SLP(gpm4-7, INPUT, DOWN);
+ };
+};
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-10-02 0:50 ` YoungJun Cho
0 siblings, 0 replies; 14+ messages in thread
From: YoungJun Cho @ 2014-10-02 0:50 UTC (permalink / raw)
To: linux-arm-kernel
From: Youngjun Cho <yj44.cho@samsung.com>
This patch adds new board dts file to support Samsung Monk board which is
based on Exynos3250 SoC and has different H/W configuration from Rinato.
This patch is based on linux-samsung.git for-next branch and depends on
[PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
This dts file support following features:
- eMMC
- Main PMIC (Samsung S2MPS14)
- Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
- RTC of Exynos3250
- ADC of Exynos3250 with NTC thermistor
- I2S of Exynos3250
- TMU of Exynos3250
- Secure firmware for Exynos3250 secondary cpu boot
- Serial ports of Exynos3250
- gpio-key for power key
[1] http://www.spinics.net/lists/arm-kernel/msg366849.html
Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
2 files changed, 594 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5728918..0c8ae64 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
da850-evm.dtb
dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
-dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
+ exynos3250-rinato.dtb \
exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
new file mode 100644
index 0000000..9e94294
--- /dev/null
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -0,0 +1,592 @@
+/*
+ * Samsung's Exynos3250 based Monk board device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Monk board which is based on
+ * Samsung Exynos3250 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 "exynos3250.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Samsung Monk board";
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
+
+ aliases {
+ i2c7 = &i2c_max77836;
+ };
+
+ memory {
+ reg = <0x40000000 0x08000000
+ 0x48000000 0x08000000
+ 0x50000000 0x08000000
+ 0x58000000 0x07F00000>;
+ };
+
+ chosen {
+ bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
+ };
+
+ firmware at 0205F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0205F000 0x1000>;
+ } ;
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ power_key {
+ interrupt-parent = <&gpx2>;
+ interrupts = <7 0>;
+ gpios = <&gpx2 7 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vemmc_reg: voltage-regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "V_EMMC_2.8V-fixed";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpk0 2 0>;
+ enable-active-high;
+ };
+ };
+
+ i2c_max77836: i2c-gpio-0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpd0 2 0>, <&gpd0 3 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ max77836: subpmic at 25 {
+ compatible = "maxim,max77836";
+ interrupt-parent = <&gpx1>;
+ interrupts = <5 0>;
+ reg = <0x25>;
+ wakeup;
+
+ muic: max77836-muic {
+ compatible = "maxim,max77836-muic";
+ };
+
+ regulators {
+ compatible = "maxim,max77836-regulator";
+ safeout_reg: SAFEOUT {
+ regulator-name = "SAFEOUT";
+ };
+
+ charger_reg: CHARGER {
+ regulator-name = "CHARGER";
+ regulator-min-microamp = <45000>;
+ regulator-max-microamp = <475000>;
+ regulator-boot-on;
+ };
+
+ motor_reg: LDO1 {
+ regulator-name = "MOT_2.7V";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <2700000>;
+ };
+
+ LDO2 {
+ regulator-name = "UNUSED_LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3950000>;
+ };
+ };
+
+ charger {
+ compatible = "maxim,max77836-charger";
+
+ maxim,constant-uvolt = <4350000>;
+ maxim,fast-charge-uamp = <225000>;
+ maxim,eoc-uamp = <7500>;
+ maxim,ovp-uvolt = <6500000>;
+ };
+ };
+ };
+};
+
+&adc {
+ vdd-supply = <&ldo3_reg>;
+ status = "okay";
+ assigned-clocks = <&cmu CLK_SCLK_TSADC>;
+ assigned-clock-rates = <6000000>;
+
+ thermistor-ap {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 0>;
+ };
+
+ thermistor-battery {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 1>;
+ };
+};
+
+&i2c_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <100000>;
+ status = "okay";
+
+ s2mps14_pmic at 66 {
+ compatible = "samsung,s2mps14-pmic";
+ interrupt-parent = <&gpx0>;
+ interrupts = <7 0>;
+ reg = <0x66>;
+ wakeup;
+
+ s2mps14_osc: clocks {
+ compatible = "samsung,s2mps14-clk";
+ #clock-cells = <1>;
+ clock-output-names = "s2mps14_ap", "unused",
+ "s2mps14_bt";
+ };
+
+ regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "VAP_ALIVE_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "VAP_M1_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "VCC_AP_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "VAP_AVDD_PLL1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "VAP_PLL_ISO_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "VAP_MIPI_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "VAP_AVDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "VAP_USB_3.0V";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "V_LPDDR_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "UNUSED_LDO10";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "V_EMMC_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "V_EMMC_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "VSENSOR_2.85V";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ regulator-always-on;
+ };
+
+ ldo14_reg: LDO14 {
+ regulator-name = "UNUSED_LDO14";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "TSP_AVDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "LCD_VDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "UNUSED_LDO17";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "UNUSED_LDO18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "TSP_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo20_reg: LDO20 {
+ regulator-name = "LCD_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo21_reg: LDO21 {
+ regulator-name = "UNUSED_LDO21";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo22_reg: LDO22 {
+ regulator-name = "UNUSED_LDO22";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo23_reg: LDO23 {
+ regulator-name = "UNUSED_LDO23";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "UNUSED_LDO24";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo25_reg: LDO25 {
+ regulator-name = "UNUSED_LDO25";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "VAP_MIF_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "VAP_ARM_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "VAP_INT3D_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "VCC_SUB_1.95V";
+ regulator-min-microvolt = <1950000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "VCC_SUB_1.35V";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&i2c_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <400000>;
+ status = "okay";
+
+ fuelgauge at 36 {
+ compatible = "maxim,max77836-battery";
+ interrupt-parent = <&gpx1>;
+ interrupts = <2 8>;
+ reg = <0x36>;
+ };
+};
+
+&i2s2 {
+ status = "okay";
+};
+
+&mshc_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-slots = <1>;
+ broken-cd;
+ non-removable;
+ cap-mmc-highspeed;
+ desc-num = <4>;
+ mmc-hs200-1_8v;
+ card-detect-delay = <200>;
+ vmmc-supply = <&vemmc_reg>;
+ clock-frequency = <100000000>;
+ clock-freq-min-max = <400000 100000000>;
+ samsung,dw-mshc-ciu-div = <1>;
+ samsung,dw-mshc-sdr-timing = <0 1>;
+ samsung,dw-mshc-ddr-timing = <1 2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&serial_0 {
+ assigned-clocks = <&cmu CLK_SCLK_UART0>;
+ assigned-clock-rates = <100000000>;
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&tmu {
+ vtmu-supply = <&ldo7_reg>;
+ status = "okay";
+};
+
+&rtc {
+ clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
+ clock-names = "rtc", "rtc_src";
+ status = "okay";
+};
+
+&xusbxti {
+ clock-frequency = <24000000>;
+};
+
+&pinctrl_0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep0>;
+
+ sleep0: sleep-state {
+ PIN_SLP(gpa0-0, INPUT, DOWN);
+ PIN_SLP(gpa0-1, INPUT, DOWN);
+ PIN_SLP(gpa0-2, INPUT, DOWN);
+ PIN_SLP(gpa0-3, INPUT, DOWN);
+ PIN_SLP(gpa0-4, INPUT, DOWN);
+ PIN_SLP(gpa0-5, INPUT, DOWN);
+ PIN_SLP(gpa0-6, INPUT, DOWN);
+ PIN_SLP(gpa0-7, INPUT, DOWN);
+
+ PIN_SLP(gpa1-0, INPUT, DOWN);
+ PIN_SLP(gpa1-1, INPUT, DOWN);
+ PIN_SLP(gpa1-2, INPUT, DOWN);
+ PIN_SLP(gpa1-3, INPUT, DOWN);
+ PIN_SLP(gpa1-4, INPUT, DOWN);
+ PIN_SLP(gpa1-5, INPUT, DOWN);
+
+ PIN_SLP(gpb-0, PREV, NONE);
+ PIN_SLP(gpb-1, PREV, NONE);
+ PIN_SLP(gpb-2, PREV, NONE);
+ PIN_SLP(gpb-3, PREV, NONE);
+ PIN_SLP(gpb-4, INPUT, DOWN);
+ PIN_SLP(gpb-5, INPUT, DOWN);
+ PIN_SLP(gpb-6, INPUT, DOWN);
+ PIN_SLP(gpb-7, INPUT, DOWN);
+
+ PIN_SLP(gpc0-0, INPUT, DOWN);
+ PIN_SLP(gpc0-1, INPUT, DOWN);
+ PIN_SLP(gpc0-2, INPUT, DOWN);
+ PIN_SLP(gpc0-3, INPUT, DOWN);
+ PIN_SLP(gpc0-4, INPUT, DOWN);
+
+ PIN_SLP(gpc1-0, INPUT, DOWN);
+ PIN_SLP(gpc1-1, INPUT, DOWN);
+ PIN_SLP(gpc1-2, INPUT, DOWN);
+ PIN_SLP(gpc1-3, INPUT, DOWN);
+ PIN_SLP(gpc1-4, INPUT, DOWN);
+
+ PIN_SLP(gpd0-0, INPUT, DOWN);
+ PIN_SLP(gpd0-1, INPUT, DOWN);
+ PIN_SLP(gpd0-2, INPUT, NONE);
+ PIN_SLP(gpd0-3, INPUT, NONE);
+
+ PIN_SLP(gpd1-0, INPUT, NONE);
+ PIN_SLP(gpd1-1, INPUT, NONE);
+ PIN_SLP(gpd1-2, INPUT, NONE);
+ PIN_SLP(gpd1-3, INPUT, NONE);
+ };
+};
+
+&pinctrl_1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep1>;
+
+ sleep1: sleep-state {
+ PIN_SLP(gpe0-0, PREV, NONE);
+ PIN_SLP(gpe0-1, PREV, NONE);
+ PIN_SLP(gpe0-2, INPUT, DOWN);
+ PIN_SLP(gpe0-3, INPUT, DOWN);
+ PIN_SLP(gpe0-4, PREV, NONE);
+ PIN_SLP(gpe0-5, INPUT, DOWN);
+ PIN_SLP(gpe0-6, INPUT, DOWN);
+ PIN_SLP(gpe0-7, INPUT, DOWN);
+
+ PIN_SLP(gpe1-0, INPUT, DOWN);
+ PIN_SLP(gpe1-1, PREV, NONE);
+ PIN_SLP(gpe1-2, INPUT, DOWN);
+ PIN_SLP(gpe1-3, INPUT, DOWN);
+ PIN_SLP(gpe1-4, INPUT, DOWN);
+ PIN_SLP(gpe1-5, INPUT, DOWN);
+ PIN_SLP(gpe1-6, INPUT, DOWN);
+ PIN_SLP(gpe1-7, INPUT, NONE);
+
+ PIN_SLP(gpe2-0, INPUT, NONE);
+ PIN_SLP(gpe2-1, INPUT, NONE);
+ PIN_SLP(gpe2-2, INPUT, NONE);
+
+ PIN_SLP(gpk0-0, INPUT, DOWN);
+ PIN_SLP(gpk0-1, INPUT, DOWN);
+ PIN_SLP(gpk0-2, OUT0, NONE);
+ PIN_SLP(gpk0-3, INPUT, DOWN);
+ PIN_SLP(gpk0-4, INPUT, DOWN);
+ PIN_SLP(gpk0-5, INPUT, DOWN);
+ PIN_SLP(gpk0-6, INPUT, DOWN);
+ PIN_SLP(gpk0-7, INPUT, DOWN);
+
+ PIN_SLP(gpk1-0, PREV, NONE);
+ PIN_SLP(gpk1-1, PREV, NONE);
+ PIN_SLP(gpk1-2, INPUT, DOWN);
+ PIN_SLP(gpk1-3, PREV, NONE);
+ PIN_SLP(gpk1-4, PREV, NONE);
+ PIN_SLP(gpk1-5, PREV, NONE);
+ PIN_SLP(gpk1-6, PREV, NONE);
+
+ PIN_SLP(gpk2-0, INPUT, DOWN);
+ PIN_SLP(gpk2-1, INPUT, DOWN);
+ PIN_SLP(gpk2-2, INPUT, DOWN);
+ PIN_SLP(gpk2-3, INPUT, DOWN);
+ PIN_SLP(gpk2-4, INPUT, DOWN);
+ PIN_SLP(gpk2-5, INPUT, DOWN);
+ PIN_SLP(gpk2-6, INPUT, DOWN);
+
+ PIN_SLP(gpl0-0, INPUT, DOWN);
+ PIN_SLP(gpl0-1, INPUT, DOWN);
+ PIN_SLP(gpl0-2, INPUT, DOWN);
+ PIN_SLP(gpl0-3, INPUT, DOWN);
+
+ PIN_SLP(gpm0-0, INPUT, DOWN);
+ PIN_SLP(gpm0-1, INPUT, DOWN);
+ PIN_SLP(gpm0-2, INPUT, DOWN);
+ PIN_SLP(gpm0-3, INPUT, DOWN);
+ PIN_SLP(gpm0-4, INPUT, DOWN);
+ PIN_SLP(gpm0-5, INPUT, DOWN);
+ PIN_SLP(gpm0-6, INPUT, DOWN);
+ PIN_SLP(gpm0-7, INPUT, DOWN);
+
+ PIN_SLP(gpm1-0, INPUT, DOWN);
+ PIN_SLP(gpm1-1, INPUT, DOWN);
+ PIN_SLP(gpm1-2, INPUT, DOWN);
+ PIN_SLP(gpm1-3, INPUT, DOWN);
+ PIN_SLP(gpm1-4, INPUT, DOWN);
+ PIN_SLP(gpm1-5, INPUT, DOWN);
+ PIN_SLP(gpm1-6, INPUT, DOWN);
+
+ PIN_SLP(gpm2-0, INPUT, DOWN);
+ PIN_SLP(gpm2-1, INPUT, DOWN);
+ PIN_SLP(gpm2-2, INPUT, DOWN);
+ PIN_SLP(gpm2-3, INPUT, DOWN);
+ PIN_SLP(gpm2-4, INPUT, DOWN);
+
+ PIN_SLP(gpm3-0, INPUT, DOWN);
+ PIN_SLP(gpm3-1, INPUT, DOWN);
+ PIN_SLP(gpm3-2, INPUT, DOWN);
+ PIN_SLP(gpm3-3, INPUT, DOWN);
+ PIN_SLP(gpm3-4, INPUT, DOWN);
+ PIN_SLP(gpm3-5, INPUT, DOWN);
+ PIN_SLP(gpm3-6, INPUT, DOWN);
+ PIN_SLP(gpm3-7, INPUT, DOWN);
+
+ PIN_SLP(gpm4-0, INPUT, DOWN);
+ PIN_SLP(gpm4-1, INPUT, DOWN);
+ PIN_SLP(gpm4-2, INPUT, DOWN);
+ PIN_SLP(gpm4-3, INPUT, DOWN);
+ PIN_SLP(gpm4-4, INPUT, DOWN);
+ PIN_SLP(gpm4-5, INPUT, DOWN);
+ PIN_SLP(gpm4-6, INPUT, DOWN);
+ PIN_SLP(gpm4-7, INPUT, DOWN);
+ };
+};
--
1.8.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-10-02 0:50 ` YoungJun Cho
@ 2014-10-02 6:57 ` Kyungmin Park
-1 siblings, 0 replies; 14+ messages in thread
From: Kyungmin Park @ 2014-10-02 6:57 UTC (permalink / raw)
To: YoungJun Cho, Arnd Bergmann, Olof Johansson
Cc: arm-linux, linux-samsung-soc, 정재훈,
geunsik.lim, Kukjin Kim, 김승우,
Tomasz Figa, 대인기, 최찬우
+ Adding ARM maintainers.
I know it's too late. just to know we trying to push product board
support at mainline.
Thank you,
Kyungmin Park
On Thu, Oct 2, 2014 at 9:50 AM, YoungJun Cho <yj44.cho@samsung.com> wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> [1] http://www.spinics.net/lists/arm-kernel/msg366849.html
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
> 2 files changed, 594 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..9e94294
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,592 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x08000000
> + 0x48000000 0x08000000
> + 0x50000000 0x08000000
> + 0x58000000 0x07F00000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware@0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + } ;
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> + };
> +
> + i2c_max77836: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 2 0>, <&gpd0 3 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + max77836: subpmic@25 {
> + compatible = "maxim,max77836";
> + interrupt-parent = <&gpx1>;
> + interrupts = <5 0>;
> + reg = <0x25>;
> + wakeup;
> +
> + muic: max77836-muic {
> + compatible = "maxim,max77836-muic";
> + };
> +
> + regulators {
> + compatible = "maxim,max77836-regulator";
> + safeout_reg: SAFEOUT {
> + regulator-name = "SAFEOUT";
> + };
> +
> + charger_reg: CHARGER {
> + regulator-name = "CHARGER";
> + regulator-min-microamp = <45000>;
> + regulator-max-microamp = <475000>;
> + regulator-boot-on;
> + };
> +
> + motor_reg: LDO1 {
> + regulator-name = "MOT_2.7V";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <2700000>;
> + };
> +
> + LDO2 {
> + regulator-name = "UNUSED_LDO2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3950000>;
> + };
> + };
> +
> + charger {
> + compatible = "maxim,max77836-charger";
> +
> + maxim,constant-uvolt = <4350000>;
> + maxim,fast-charge-uamp = <225000>;
> + maxim,eoc-uamp = <7500>;
> + maxim,ovp-uvolt = <6500000>;
> + };
> + };
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> + assigned-clocks = <&cmu CLK_SCLK_TSADC>;
> + assigned-clock-rates = <6000000>;
> +
> + thermistor-ap {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor-battery {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 1>;
> + };
> +};
> +
> +&i2c_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <100000>;
> + status = "okay";
> +
> + s2mps14_pmic@66 {
> + compatible = "samsung,s2mps14-pmic";
> + interrupt-parent = <&gpx0>;
> + interrupts = <7 0>;
> + reg = <0x66>;
> + wakeup;
> +
> + s2mps14_osc: clocks {
> + compatible = "samsung,s2mps14-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps14_ap", "unused",
> + "s2mps14_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VAP_ALIVE_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VAP_M1_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VCC_AP_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VAP_AVDD_PLL1";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VAP_PLL_ISO_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VAP_MIPI_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VAP_AVDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VAP_USB_3.0V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "V_LPDDR_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "UNUSED_LDO10";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "V_EMMC_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "V_EMMC_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VSENSOR_2.85V";
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + regulator-always-on;
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "UNUSED_LDO14";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "TSP_AVDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "LCD_VDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "UNUSED_LDO17";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "UNUSED_LDO18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "TSP_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "LCD_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "UNUSED_LDO21";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "UNUSED_LDO22";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "UNUSED_LDO23";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "UNUSED_LDO24";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "UNUSED_LDO25";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VAP_MIF_1.0V";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VAP_ARM_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1150000>;
> + regulator-always-on;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VAP_INT3D_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VCC_SUB_1.95V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VCC_SUB_1.35V";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&i2c_1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + status = "okay";
> +
> + fuelgauge@36 {
> + compatible = "maxim,max77836-battery";
> + interrupt-parent = <&gpx1>;
> + interrupts = <2 8>;
> + reg = <0x36>;
> + };
> +};
> +
> +&i2s2 {
> + status = "okay";
> +};
> +
> +&mshc_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + num-slots = <1>;
> + broken-cd;
> + non-removable;
> + cap-mmc-highspeed;
> + desc-num = <4>;
> + mmc-hs200-1_8v;
> + card-detect-delay = <200>;
> + vmmc-supply = <&vemmc_reg>;
> + clock-frequency = <100000000>;
> + clock-freq-min-max = <400000 100000000>;
> + samsung,dw-mshc-ciu-div = <1>;
> + samsung,dw-mshc-sdr-timing = <0 1>;
> + samsung,dw-mshc-ddr-timing = <1 2>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> + bus-width = <8>;
> + status = "okay";
> +};
> +
> +&serial_0 {
> + assigned-clocks = <&cmu CLK_SCLK_UART0>;
> + assigned-clock-rates = <100000000>;
> + status = "okay";
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&tmu {
> + vtmu-supply = <&ldo7_reg>;
> + status = "okay";
> +};
> +
> +&rtc {
> + clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
> + clock-names = "rtc", "rtc_src";
> + status = "okay";
> +};
> +
> +&xusbxti {
> + clock-frequency = <24000000>;
> +};
> +
> +&pinctrl_0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep0>;
> +
> + sleep0: sleep-state {
> + PIN_SLP(gpa0-0, INPUT, DOWN);
> + PIN_SLP(gpa0-1, INPUT, DOWN);
> + PIN_SLP(gpa0-2, INPUT, DOWN);
> + PIN_SLP(gpa0-3, INPUT, DOWN);
> + PIN_SLP(gpa0-4, INPUT, DOWN);
> + PIN_SLP(gpa0-5, INPUT, DOWN);
> + PIN_SLP(gpa0-6, INPUT, DOWN);
> + PIN_SLP(gpa0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpa1-0, INPUT, DOWN);
> + PIN_SLP(gpa1-1, INPUT, DOWN);
> + PIN_SLP(gpa1-2, INPUT, DOWN);
> + PIN_SLP(gpa1-3, INPUT, DOWN);
> + PIN_SLP(gpa1-4, INPUT, DOWN);
> + PIN_SLP(gpa1-5, INPUT, DOWN);
> +
> + PIN_SLP(gpb-0, PREV, NONE);
> + PIN_SLP(gpb-1, PREV, NONE);
> + PIN_SLP(gpb-2, PREV, NONE);
> + PIN_SLP(gpb-3, PREV, NONE);
> + PIN_SLP(gpb-4, INPUT, DOWN);
> + PIN_SLP(gpb-5, INPUT, DOWN);
> + PIN_SLP(gpb-6, INPUT, DOWN);
> + PIN_SLP(gpb-7, INPUT, DOWN);
> +
> + PIN_SLP(gpc0-0, INPUT, DOWN);
> + PIN_SLP(gpc0-1, INPUT, DOWN);
> + PIN_SLP(gpc0-2, INPUT, DOWN);
> + PIN_SLP(gpc0-3, INPUT, DOWN);
> + PIN_SLP(gpc0-4, INPUT, DOWN);
> +
> + PIN_SLP(gpc1-0, INPUT, DOWN);
> + PIN_SLP(gpc1-1, INPUT, DOWN);
> + PIN_SLP(gpc1-2, INPUT, DOWN);
> + PIN_SLP(gpc1-3, INPUT, DOWN);
> + PIN_SLP(gpc1-4, INPUT, DOWN);
> +
> + PIN_SLP(gpd0-0, INPUT, DOWN);
> + PIN_SLP(gpd0-1, INPUT, DOWN);
> + PIN_SLP(gpd0-2, INPUT, NONE);
> + PIN_SLP(gpd0-3, INPUT, NONE);
> +
> + PIN_SLP(gpd1-0, INPUT, NONE);
> + PIN_SLP(gpd1-1, INPUT, NONE);
> + PIN_SLP(gpd1-2, INPUT, NONE);
> + PIN_SLP(gpd1-3, INPUT, NONE);
> + };
> +};
> +
> +&pinctrl_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep1>;
> +
> + sleep1: sleep-state {
> + PIN_SLP(gpe0-0, PREV, NONE);
> + PIN_SLP(gpe0-1, PREV, NONE);
> + PIN_SLP(gpe0-2, INPUT, DOWN);
> + PIN_SLP(gpe0-3, INPUT, DOWN);
> + PIN_SLP(gpe0-4, PREV, NONE);
> + PIN_SLP(gpe0-5, INPUT, DOWN);
> + PIN_SLP(gpe0-6, INPUT, DOWN);
> + PIN_SLP(gpe0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpe1-0, INPUT, DOWN);
> + PIN_SLP(gpe1-1, PREV, NONE);
> + PIN_SLP(gpe1-2, INPUT, DOWN);
> + PIN_SLP(gpe1-3, INPUT, DOWN);
> + PIN_SLP(gpe1-4, INPUT, DOWN);
> + PIN_SLP(gpe1-5, INPUT, DOWN);
> + PIN_SLP(gpe1-6, INPUT, DOWN);
> + PIN_SLP(gpe1-7, INPUT, NONE);
> +
> + PIN_SLP(gpe2-0, INPUT, NONE);
> + PIN_SLP(gpe2-1, INPUT, NONE);
> + PIN_SLP(gpe2-2, INPUT, NONE);
> +
> + PIN_SLP(gpk0-0, INPUT, DOWN);
> + PIN_SLP(gpk0-1, INPUT, DOWN);
> + PIN_SLP(gpk0-2, OUT0, NONE);
> + PIN_SLP(gpk0-3, INPUT, DOWN);
> + PIN_SLP(gpk0-4, INPUT, DOWN);
> + PIN_SLP(gpk0-5, INPUT, DOWN);
> + PIN_SLP(gpk0-6, INPUT, DOWN);
> + PIN_SLP(gpk0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpk1-0, PREV, NONE);
> + PIN_SLP(gpk1-1, PREV, NONE);
> + PIN_SLP(gpk1-2, INPUT, DOWN);
> + PIN_SLP(gpk1-3, PREV, NONE);
> + PIN_SLP(gpk1-4, PREV, NONE);
> + PIN_SLP(gpk1-5, PREV, NONE);
> + PIN_SLP(gpk1-6, PREV, NONE);
> +
> + PIN_SLP(gpk2-0, INPUT, DOWN);
> + PIN_SLP(gpk2-1, INPUT, DOWN);
> + PIN_SLP(gpk2-2, INPUT, DOWN);
> + PIN_SLP(gpk2-3, INPUT, DOWN);
> + PIN_SLP(gpk2-4, INPUT, DOWN);
> + PIN_SLP(gpk2-5, INPUT, DOWN);
> + PIN_SLP(gpk2-6, INPUT, DOWN);
> +
> + PIN_SLP(gpl0-0, INPUT, DOWN);
> + PIN_SLP(gpl0-1, INPUT, DOWN);
> + PIN_SLP(gpl0-2, INPUT, DOWN);
> + PIN_SLP(gpl0-3, INPUT, DOWN);
> +
> + PIN_SLP(gpm0-0, INPUT, DOWN);
> + PIN_SLP(gpm0-1, INPUT, DOWN);
> + PIN_SLP(gpm0-2, INPUT, DOWN);
> + PIN_SLP(gpm0-3, INPUT, DOWN);
> + PIN_SLP(gpm0-4, INPUT, DOWN);
> + PIN_SLP(gpm0-5, INPUT, DOWN);
> + PIN_SLP(gpm0-6, INPUT, DOWN);
> + PIN_SLP(gpm0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm1-0, INPUT, DOWN);
> + PIN_SLP(gpm1-1, INPUT, DOWN);
> + PIN_SLP(gpm1-2, INPUT, DOWN);
> + PIN_SLP(gpm1-3, INPUT, DOWN);
> + PIN_SLP(gpm1-4, INPUT, DOWN);
> + PIN_SLP(gpm1-5, INPUT, DOWN);
> + PIN_SLP(gpm1-6, INPUT, DOWN);
> +
> + PIN_SLP(gpm2-0, INPUT, DOWN);
> + PIN_SLP(gpm2-1, INPUT, DOWN);
> + PIN_SLP(gpm2-2, INPUT, DOWN);
> + PIN_SLP(gpm2-3, INPUT, DOWN);
> + PIN_SLP(gpm2-4, INPUT, DOWN);
> +
> + PIN_SLP(gpm3-0, INPUT, DOWN);
> + PIN_SLP(gpm3-1, INPUT, DOWN);
> + PIN_SLP(gpm3-2, INPUT, DOWN);
> + PIN_SLP(gpm3-3, INPUT, DOWN);
> + PIN_SLP(gpm3-4, INPUT, DOWN);
> + PIN_SLP(gpm3-5, INPUT, DOWN);
> + PIN_SLP(gpm3-6, INPUT, DOWN);
> + PIN_SLP(gpm3-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm4-0, INPUT, DOWN);
> + PIN_SLP(gpm4-1, INPUT, DOWN);
> + PIN_SLP(gpm4-2, INPUT, DOWN);
> + PIN_SLP(gpm4-3, INPUT, DOWN);
> + PIN_SLP(gpm4-4, INPUT, DOWN);
> + PIN_SLP(gpm4-5, INPUT, DOWN);
> + PIN_SLP(gpm4-6, INPUT, DOWN);
> + PIN_SLP(gpm4-7, INPUT, DOWN);
> + };
> +};
> --
> 1.8.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-10-02 6:57 ` Kyungmin Park
0 siblings, 0 replies; 14+ messages in thread
From: Kyungmin Park @ 2014-10-02 6:57 UTC (permalink / raw)
To: linux-arm-kernel
+ Adding ARM maintainers.
I know it's too late. just to know we trying to push product board
support at mainline.
Thank you,
Kyungmin Park
On Thu, Oct 2, 2014 at 9:50 AM, YoungJun Cho <yj44.cho@samsung.com> wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> [1] http://www.spinics.net/lists/arm-kernel/msg366849.html
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
> 2 files changed, 594 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..9e94294
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,592 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x08000000
> + 0x48000000 0x08000000
> + 0x50000000 0x08000000
> + 0x58000000 0x07F00000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware at 0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + } ;
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> + };
> +
> + i2c_max77836: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 2 0>, <&gpd0 3 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + max77836: subpmic at 25 {
> + compatible = "maxim,max77836";
> + interrupt-parent = <&gpx1>;
> + interrupts = <5 0>;
> + reg = <0x25>;
> + wakeup;
> +
> + muic: max77836-muic {
> + compatible = "maxim,max77836-muic";
> + };
> +
> + regulators {
> + compatible = "maxim,max77836-regulator";
> + safeout_reg: SAFEOUT {
> + regulator-name = "SAFEOUT";
> + };
> +
> + charger_reg: CHARGER {
> + regulator-name = "CHARGER";
> + regulator-min-microamp = <45000>;
> + regulator-max-microamp = <475000>;
> + regulator-boot-on;
> + };
> +
> + motor_reg: LDO1 {
> + regulator-name = "MOT_2.7V";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <2700000>;
> + };
> +
> + LDO2 {
> + regulator-name = "UNUSED_LDO2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3950000>;
> + };
> + };
> +
> + charger {
> + compatible = "maxim,max77836-charger";
> +
> + maxim,constant-uvolt = <4350000>;
> + maxim,fast-charge-uamp = <225000>;
> + maxim,eoc-uamp = <7500>;
> + maxim,ovp-uvolt = <6500000>;
> + };
> + };
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> + assigned-clocks = <&cmu CLK_SCLK_TSADC>;
> + assigned-clock-rates = <6000000>;
> +
> + thermistor-ap {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor-battery {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 1>;
> + };
> +};
> +
> +&i2c_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <100000>;
> + status = "okay";
> +
> + s2mps14_pmic at 66 {
> + compatible = "samsung,s2mps14-pmic";
> + interrupt-parent = <&gpx0>;
> + interrupts = <7 0>;
> + reg = <0x66>;
> + wakeup;
> +
> + s2mps14_osc: clocks {
> + compatible = "samsung,s2mps14-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps14_ap", "unused",
> + "s2mps14_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VAP_ALIVE_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VAP_M1_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VCC_AP_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VAP_AVDD_PLL1";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VAP_PLL_ISO_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VAP_MIPI_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VAP_AVDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VAP_USB_3.0V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "V_LPDDR_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "UNUSED_LDO10";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "V_EMMC_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "V_EMMC_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VSENSOR_2.85V";
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + regulator-always-on;
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "UNUSED_LDO14";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "TSP_AVDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "LCD_VDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "UNUSED_LDO17";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "UNUSED_LDO18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "TSP_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "LCD_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "UNUSED_LDO21";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "UNUSED_LDO22";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "UNUSED_LDO23";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "UNUSED_LDO24";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "UNUSED_LDO25";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VAP_MIF_1.0V";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VAP_ARM_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1150000>;
> + regulator-always-on;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VAP_INT3D_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VCC_SUB_1.95V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VCC_SUB_1.35V";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&i2c_1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + status = "okay";
> +
> + fuelgauge at 36 {
> + compatible = "maxim,max77836-battery";
> + interrupt-parent = <&gpx1>;
> + interrupts = <2 8>;
> + reg = <0x36>;
> + };
> +};
> +
> +&i2s2 {
> + status = "okay";
> +};
> +
> +&mshc_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + num-slots = <1>;
> + broken-cd;
> + non-removable;
> + cap-mmc-highspeed;
> + desc-num = <4>;
> + mmc-hs200-1_8v;
> + card-detect-delay = <200>;
> + vmmc-supply = <&vemmc_reg>;
> + clock-frequency = <100000000>;
> + clock-freq-min-max = <400000 100000000>;
> + samsung,dw-mshc-ciu-div = <1>;
> + samsung,dw-mshc-sdr-timing = <0 1>;
> + samsung,dw-mshc-ddr-timing = <1 2>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> + bus-width = <8>;
> + status = "okay";
> +};
> +
> +&serial_0 {
> + assigned-clocks = <&cmu CLK_SCLK_UART0>;
> + assigned-clock-rates = <100000000>;
> + status = "okay";
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&tmu {
> + vtmu-supply = <&ldo7_reg>;
> + status = "okay";
> +};
> +
> +&rtc {
> + clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
> + clock-names = "rtc", "rtc_src";
> + status = "okay";
> +};
> +
> +&xusbxti {
> + clock-frequency = <24000000>;
> +};
> +
> +&pinctrl_0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep0>;
> +
> + sleep0: sleep-state {
> + PIN_SLP(gpa0-0, INPUT, DOWN);
> + PIN_SLP(gpa0-1, INPUT, DOWN);
> + PIN_SLP(gpa0-2, INPUT, DOWN);
> + PIN_SLP(gpa0-3, INPUT, DOWN);
> + PIN_SLP(gpa0-4, INPUT, DOWN);
> + PIN_SLP(gpa0-5, INPUT, DOWN);
> + PIN_SLP(gpa0-6, INPUT, DOWN);
> + PIN_SLP(gpa0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpa1-0, INPUT, DOWN);
> + PIN_SLP(gpa1-1, INPUT, DOWN);
> + PIN_SLP(gpa1-2, INPUT, DOWN);
> + PIN_SLP(gpa1-3, INPUT, DOWN);
> + PIN_SLP(gpa1-4, INPUT, DOWN);
> + PIN_SLP(gpa1-5, INPUT, DOWN);
> +
> + PIN_SLP(gpb-0, PREV, NONE);
> + PIN_SLP(gpb-1, PREV, NONE);
> + PIN_SLP(gpb-2, PREV, NONE);
> + PIN_SLP(gpb-3, PREV, NONE);
> + PIN_SLP(gpb-4, INPUT, DOWN);
> + PIN_SLP(gpb-5, INPUT, DOWN);
> + PIN_SLP(gpb-6, INPUT, DOWN);
> + PIN_SLP(gpb-7, INPUT, DOWN);
> +
> + PIN_SLP(gpc0-0, INPUT, DOWN);
> + PIN_SLP(gpc0-1, INPUT, DOWN);
> + PIN_SLP(gpc0-2, INPUT, DOWN);
> + PIN_SLP(gpc0-3, INPUT, DOWN);
> + PIN_SLP(gpc0-4, INPUT, DOWN);
> +
> + PIN_SLP(gpc1-0, INPUT, DOWN);
> + PIN_SLP(gpc1-1, INPUT, DOWN);
> + PIN_SLP(gpc1-2, INPUT, DOWN);
> + PIN_SLP(gpc1-3, INPUT, DOWN);
> + PIN_SLP(gpc1-4, INPUT, DOWN);
> +
> + PIN_SLP(gpd0-0, INPUT, DOWN);
> + PIN_SLP(gpd0-1, INPUT, DOWN);
> + PIN_SLP(gpd0-2, INPUT, NONE);
> + PIN_SLP(gpd0-3, INPUT, NONE);
> +
> + PIN_SLP(gpd1-0, INPUT, NONE);
> + PIN_SLP(gpd1-1, INPUT, NONE);
> + PIN_SLP(gpd1-2, INPUT, NONE);
> + PIN_SLP(gpd1-3, INPUT, NONE);
> + };
> +};
> +
> +&pinctrl_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep1>;
> +
> + sleep1: sleep-state {
> + PIN_SLP(gpe0-0, PREV, NONE);
> + PIN_SLP(gpe0-1, PREV, NONE);
> + PIN_SLP(gpe0-2, INPUT, DOWN);
> + PIN_SLP(gpe0-3, INPUT, DOWN);
> + PIN_SLP(gpe0-4, PREV, NONE);
> + PIN_SLP(gpe0-5, INPUT, DOWN);
> + PIN_SLP(gpe0-6, INPUT, DOWN);
> + PIN_SLP(gpe0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpe1-0, INPUT, DOWN);
> + PIN_SLP(gpe1-1, PREV, NONE);
> + PIN_SLP(gpe1-2, INPUT, DOWN);
> + PIN_SLP(gpe1-3, INPUT, DOWN);
> + PIN_SLP(gpe1-4, INPUT, DOWN);
> + PIN_SLP(gpe1-5, INPUT, DOWN);
> + PIN_SLP(gpe1-6, INPUT, DOWN);
> + PIN_SLP(gpe1-7, INPUT, NONE);
> +
> + PIN_SLP(gpe2-0, INPUT, NONE);
> + PIN_SLP(gpe2-1, INPUT, NONE);
> + PIN_SLP(gpe2-2, INPUT, NONE);
> +
> + PIN_SLP(gpk0-0, INPUT, DOWN);
> + PIN_SLP(gpk0-1, INPUT, DOWN);
> + PIN_SLP(gpk0-2, OUT0, NONE);
> + PIN_SLP(gpk0-3, INPUT, DOWN);
> + PIN_SLP(gpk0-4, INPUT, DOWN);
> + PIN_SLP(gpk0-5, INPUT, DOWN);
> + PIN_SLP(gpk0-6, INPUT, DOWN);
> + PIN_SLP(gpk0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpk1-0, PREV, NONE);
> + PIN_SLP(gpk1-1, PREV, NONE);
> + PIN_SLP(gpk1-2, INPUT, DOWN);
> + PIN_SLP(gpk1-3, PREV, NONE);
> + PIN_SLP(gpk1-4, PREV, NONE);
> + PIN_SLP(gpk1-5, PREV, NONE);
> + PIN_SLP(gpk1-6, PREV, NONE);
> +
> + PIN_SLP(gpk2-0, INPUT, DOWN);
> + PIN_SLP(gpk2-1, INPUT, DOWN);
> + PIN_SLP(gpk2-2, INPUT, DOWN);
> + PIN_SLP(gpk2-3, INPUT, DOWN);
> + PIN_SLP(gpk2-4, INPUT, DOWN);
> + PIN_SLP(gpk2-5, INPUT, DOWN);
> + PIN_SLP(gpk2-6, INPUT, DOWN);
> +
> + PIN_SLP(gpl0-0, INPUT, DOWN);
> + PIN_SLP(gpl0-1, INPUT, DOWN);
> + PIN_SLP(gpl0-2, INPUT, DOWN);
> + PIN_SLP(gpl0-3, INPUT, DOWN);
> +
> + PIN_SLP(gpm0-0, INPUT, DOWN);
> + PIN_SLP(gpm0-1, INPUT, DOWN);
> + PIN_SLP(gpm0-2, INPUT, DOWN);
> + PIN_SLP(gpm0-3, INPUT, DOWN);
> + PIN_SLP(gpm0-4, INPUT, DOWN);
> + PIN_SLP(gpm0-5, INPUT, DOWN);
> + PIN_SLP(gpm0-6, INPUT, DOWN);
> + PIN_SLP(gpm0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm1-0, INPUT, DOWN);
> + PIN_SLP(gpm1-1, INPUT, DOWN);
> + PIN_SLP(gpm1-2, INPUT, DOWN);
> + PIN_SLP(gpm1-3, INPUT, DOWN);
> + PIN_SLP(gpm1-4, INPUT, DOWN);
> + PIN_SLP(gpm1-5, INPUT, DOWN);
> + PIN_SLP(gpm1-6, INPUT, DOWN);
> +
> + PIN_SLP(gpm2-0, INPUT, DOWN);
> + PIN_SLP(gpm2-1, INPUT, DOWN);
> + PIN_SLP(gpm2-2, INPUT, DOWN);
> + PIN_SLP(gpm2-3, INPUT, DOWN);
> + PIN_SLP(gpm2-4, INPUT, DOWN);
> +
> + PIN_SLP(gpm3-0, INPUT, DOWN);
> + PIN_SLP(gpm3-1, INPUT, DOWN);
> + PIN_SLP(gpm3-2, INPUT, DOWN);
> + PIN_SLP(gpm3-3, INPUT, DOWN);
> + PIN_SLP(gpm3-4, INPUT, DOWN);
> + PIN_SLP(gpm3-5, INPUT, DOWN);
> + PIN_SLP(gpm3-6, INPUT, DOWN);
> + PIN_SLP(gpm3-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm4-0, INPUT, DOWN);
> + PIN_SLP(gpm4-1, INPUT, DOWN);
> + PIN_SLP(gpm4-2, INPUT, DOWN);
> + PIN_SLP(gpm4-3, INPUT, DOWN);
> + PIN_SLP(gpm4-4, INPUT, DOWN);
> + PIN_SLP(gpm4-5, INPUT, DOWN);
> + PIN_SLP(gpm4-6, INPUT, DOWN);
> + PIN_SLP(gpm4-7, INPUT, DOWN);
> + };
> +};
> --
> 1.8.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-10-02 0:50 ` YoungJun Cho
@ 2014-10-02 11:22 ` Mark Rutland
-1 siblings, 0 replies; 14+ messages in thread
From: Mark Rutland @ 2014-10-02 11:22 UTC (permalink / raw)
To: YoungJun Cho
Cc: linux-arm-kernel, linux-samsung-soc, jh80.chung, geunsik.lim,
kgene.kim, sw0312.kim, tomasz.figa, inki.dae, cw00.choi,
kyungmin.park
On Thu, Oct 02, 2014 at 01:50:25AM +0100, YoungJun Cho wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> [1] http://www.spinics.net/lists/arm-kernel/msg366849.html
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
> 2 files changed, 594 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..9e94294
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,592 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x08000000
> + 0x48000000 0x08000000
> + 0x50000000 0x08000000
> + 0x58000000 0x07F00000>;
Nit: please bracket list entries individually.
That said, it looks like this could be coalesced into:
memory@40000000 {
reg = <0x40000000 0x1ff00000>;
};
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware@0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + } ;
Nit: useless space before the ';'.
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> + };
Why not put this directly under the root node? There's no reason to
group regulators simply because they're regulators, and there's only one
anyhow.
Mark.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-10-02 11:22 ` Mark Rutland
0 siblings, 0 replies; 14+ messages in thread
From: Mark Rutland @ 2014-10-02 11:22 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 02, 2014 at 01:50:25AM +0100, YoungJun Cho wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCH 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board[1]
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> [1] http://www.spinics.net/lists/arm-kernel/msg366849.html
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 592 ++++++++++++++++++++++++++++++++++
> 2 files changed, 594 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..9e94294
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,592 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x08000000
> + 0x48000000 0x08000000
> + 0x50000000 0x08000000
> + 0x58000000 0x07F00000>;
Nit: please bracket list entries individually.
That said, it looks like this could be coalesced into:
memory at 40000000 {
reg = <0x40000000 0x1ff00000>;
};
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware at 0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + } ;
Nit: useless space before the ';'.
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + regulators {
> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> + };
Why not put this directly under the root node? There's no reason to
group regulators simply because they're regulators, and there's only one
anyhow.
Mark.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-10-02 11:22 ` Mark Rutland
@ 2014-10-08 2:11 ` YoungJun Cho
-1 siblings, 0 replies; 14+ messages in thread
From: YoungJun Cho @ 2014-10-08 2:11 UTC (permalink / raw)
To: linux-arm-kernel, linux-samsung-soc
Cc: mark.rutland, kgene.kim, tomasz.figa, kyungmin.park, inki.dae,
sw0312.kim, cw00.choi, jh80.chung, geunsik.lim, arnd, olof
From: Youngjun Cho <yj44.cho@samsung.com>
This patch adds new board dts file to support Samsung Monk board which is
based on Exynos3250 SoC and has different H/W configuration from Rinato.
This patch is based on linux-samsung.git for-next branch and depends on
[PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
Changes from v1:
- The 'memory' entries coalesce into one entry
- Removes useless space
- Puts voltage-regulator-0 under the root node
This dts file support following features:
- eMMC
- Main PMIC (Samsung S2MPS14)
- Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
- RTC of Exynos3250
- ADC of Exynos3250 with NTC thermistor
- I2S of Exynos3250
- TMU of Exynos3250
- Secure firmware for Exynos3250 secondary cpu boot
- Serial ports of Exynos3250
- gpio-key for power key
Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
2 files changed, 585 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5728918..0c8ae64 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
da850-evm.dtb
dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
-dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
+ exynos3250-rinato.dtb \
exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
new file mode 100644
index 0000000..615672f
--- /dev/null
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -0,0 +1,583 @@
+/*
+ * Samsung's Exynos3250 based Monk board device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Monk board which is based on
+ * Samsung Exynos3250 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 "exynos3250.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Samsung Monk board";
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
+
+ aliases {
+ i2c7 = &i2c_max77836;
+ };
+
+ memory {
+ reg = <0x40000000 0x1ff00000>;
+ };
+
+ chosen {
+ bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
+ };
+
+ firmware@0205F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0205F000 0x1000>;
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ power_key {
+ interrupt-parent = <&gpx2>;
+ interrupts = <7 0>;
+ gpios = <&gpx2 7 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
+ vemmc_reg: voltage-regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "V_EMMC_2.8V-fixed";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpk0 2 0>;
+ enable-active-high;
+ };
+
+ i2c_max77836: i2c-gpio-0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpd0 2 0>, <&gpd0 3 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ max77836: subpmic@25 {
+ compatible = "maxim,max77836";
+ interrupt-parent = <&gpx1>;
+ interrupts = <5 0>;
+ reg = <0x25>;
+ wakeup;
+
+ muic: max77836-muic {
+ compatible = "maxim,max77836-muic";
+ };
+
+ regulators {
+ compatible = "maxim,max77836-regulator";
+ safeout_reg: SAFEOUT {
+ regulator-name = "SAFEOUT";
+ };
+
+ charger_reg: CHARGER {
+ regulator-name = "CHARGER";
+ regulator-min-microamp = <45000>;
+ regulator-max-microamp = <475000>;
+ regulator-boot-on;
+ };
+
+ motor_reg: LDO1 {
+ regulator-name = "MOT_2.7V";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <2700000>;
+ };
+
+ LDO2 {
+ regulator-name = "UNUSED_LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3950000>;
+ };
+ };
+
+ charger {
+ compatible = "maxim,max77836-charger";
+
+ maxim,constant-uvolt = <4350000>;
+ maxim,fast-charge-uamp = <225000>;
+ maxim,eoc-uamp = <7500>;
+ maxim,ovp-uvolt = <6500000>;
+ };
+ };
+ };
+};
+
+&adc {
+ vdd-supply = <&ldo3_reg>;
+ status = "okay";
+ assigned-clocks = <&cmu CLK_SCLK_TSADC>;
+ assigned-clock-rates = <6000000>;
+
+ thermistor-ap {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 0>;
+ };
+
+ thermistor-battery {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 1>;
+ };
+};
+
+&i2c_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <100000>;
+ status = "okay";
+
+ s2mps14_pmic@66 {
+ compatible = "samsung,s2mps14-pmic";
+ interrupt-parent = <&gpx0>;
+ interrupts = <7 0>;
+ reg = <0x66>;
+ wakeup;
+
+ s2mps14_osc: clocks {
+ compatible = "samsung,s2mps14-clk";
+ #clock-cells = <1>;
+ clock-output-names = "s2mps14_ap", "unused",
+ "s2mps14_bt";
+ };
+
+ regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "VAP_ALIVE_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "VAP_M1_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "VCC_AP_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "VAP_AVDD_PLL1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "VAP_PLL_ISO_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "VAP_MIPI_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "VAP_AVDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "VAP_USB_3.0V";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "V_LPDDR_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "UNUSED_LDO10";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "V_EMMC_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "V_EMMC_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "VSENSOR_2.85V";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ regulator-always-on;
+ };
+
+ ldo14_reg: LDO14 {
+ regulator-name = "UNUSED_LDO14";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "TSP_AVDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "LCD_VDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "UNUSED_LDO17";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "UNUSED_LDO18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "TSP_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo20_reg: LDO20 {
+ regulator-name = "LCD_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo21_reg: LDO21 {
+ regulator-name = "UNUSED_LDO21";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo22_reg: LDO22 {
+ regulator-name = "UNUSED_LDO22";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo23_reg: LDO23 {
+ regulator-name = "UNUSED_LDO23";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "UNUSED_LDO24";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo25_reg: LDO25 {
+ regulator-name = "UNUSED_LDO25";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "VAP_MIF_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "VAP_ARM_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "VAP_INT3D_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "VCC_SUB_1.95V";
+ regulator-min-microvolt = <1950000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "VCC_SUB_1.35V";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&i2c_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <400000>;
+ status = "okay";
+
+ fuelgauge@36 {
+ compatible = "maxim,max77836-battery";
+ interrupt-parent = <&gpx1>;
+ interrupts = <2 8>;
+ reg = <0x36>;
+ };
+};
+
+&i2s2 {
+ status = "okay";
+};
+
+&mshc_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-slots = <1>;
+ broken-cd;
+ non-removable;
+ cap-mmc-highspeed;
+ desc-num = <4>;
+ mmc-hs200-1_8v;
+ card-detect-delay = <200>;
+ vmmc-supply = <&vemmc_reg>;
+ clock-frequency = <100000000>;
+ clock-freq-min-max = <400000 100000000>;
+ samsung,dw-mshc-ciu-div = <1>;
+ samsung,dw-mshc-sdr-timing = <0 1>;
+ samsung,dw-mshc-ddr-timing = <1 2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&serial_0 {
+ assigned-clocks = <&cmu CLK_SCLK_UART0>;
+ assigned-clock-rates = <100000000>;
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&tmu {
+ vtmu-supply = <&ldo7_reg>;
+ status = "okay";
+};
+
+&rtc {
+ clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
+ clock-names = "rtc", "rtc_src";
+ status = "okay";
+};
+
+&xusbxti {
+ clock-frequency = <24000000>;
+};
+
+&pinctrl_0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep0>;
+
+ sleep0: sleep-state {
+ PIN_SLP(gpa0-0, INPUT, DOWN);
+ PIN_SLP(gpa0-1, INPUT, DOWN);
+ PIN_SLP(gpa0-2, INPUT, DOWN);
+ PIN_SLP(gpa0-3, INPUT, DOWN);
+ PIN_SLP(gpa0-4, INPUT, DOWN);
+ PIN_SLP(gpa0-5, INPUT, DOWN);
+ PIN_SLP(gpa0-6, INPUT, DOWN);
+ PIN_SLP(gpa0-7, INPUT, DOWN);
+
+ PIN_SLP(gpa1-0, INPUT, DOWN);
+ PIN_SLP(gpa1-1, INPUT, DOWN);
+ PIN_SLP(gpa1-2, INPUT, DOWN);
+ PIN_SLP(gpa1-3, INPUT, DOWN);
+ PIN_SLP(gpa1-4, INPUT, DOWN);
+ PIN_SLP(gpa1-5, INPUT, DOWN);
+
+ PIN_SLP(gpb-0, PREV, NONE);
+ PIN_SLP(gpb-1, PREV, NONE);
+ PIN_SLP(gpb-2, PREV, NONE);
+ PIN_SLP(gpb-3, PREV, NONE);
+ PIN_SLP(gpb-4, INPUT, DOWN);
+ PIN_SLP(gpb-5, INPUT, DOWN);
+ PIN_SLP(gpb-6, INPUT, DOWN);
+ PIN_SLP(gpb-7, INPUT, DOWN);
+
+ PIN_SLP(gpc0-0, INPUT, DOWN);
+ PIN_SLP(gpc0-1, INPUT, DOWN);
+ PIN_SLP(gpc0-2, INPUT, DOWN);
+ PIN_SLP(gpc0-3, INPUT, DOWN);
+ PIN_SLP(gpc0-4, INPUT, DOWN);
+
+ PIN_SLP(gpc1-0, INPUT, DOWN);
+ PIN_SLP(gpc1-1, INPUT, DOWN);
+ PIN_SLP(gpc1-2, INPUT, DOWN);
+ PIN_SLP(gpc1-3, INPUT, DOWN);
+ PIN_SLP(gpc1-4, INPUT, DOWN);
+
+ PIN_SLP(gpd0-0, INPUT, DOWN);
+ PIN_SLP(gpd0-1, INPUT, DOWN);
+ PIN_SLP(gpd0-2, INPUT, NONE);
+ PIN_SLP(gpd0-3, INPUT, NONE);
+
+ PIN_SLP(gpd1-0, INPUT, NONE);
+ PIN_SLP(gpd1-1, INPUT, NONE);
+ PIN_SLP(gpd1-2, INPUT, NONE);
+ PIN_SLP(gpd1-3, INPUT, NONE);
+ };
+};
+
+&pinctrl_1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep1>;
+
+ sleep1: sleep-state {
+ PIN_SLP(gpe0-0, PREV, NONE);
+ PIN_SLP(gpe0-1, PREV, NONE);
+ PIN_SLP(gpe0-2, INPUT, DOWN);
+ PIN_SLP(gpe0-3, INPUT, DOWN);
+ PIN_SLP(gpe0-4, PREV, NONE);
+ PIN_SLP(gpe0-5, INPUT, DOWN);
+ PIN_SLP(gpe0-6, INPUT, DOWN);
+ PIN_SLP(gpe0-7, INPUT, DOWN);
+
+ PIN_SLP(gpe1-0, INPUT, DOWN);
+ PIN_SLP(gpe1-1, PREV, NONE);
+ PIN_SLP(gpe1-2, INPUT, DOWN);
+ PIN_SLP(gpe1-3, INPUT, DOWN);
+ PIN_SLP(gpe1-4, INPUT, DOWN);
+ PIN_SLP(gpe1-5, INPUT, DOWN);
+ PIN_SLP(gpe1-6, INPUT, DOWN);
+ PIN_SLP(gpe1-7, INPUT, NONE);
+
+ PIN_SLP(gpe2-0, INPUT, NONE);
+ PIN_SLP(gpe2-1, INPUT, NONE);
+ PIN_SLP(gpe2-2, INPUT, NONE);
+
+ PIN_SLP(gpk0-0, INPUT, DOWN);
+ PIN_SLP(gpk0-1, INPUT, DOWN);
+ PIN_SLP(gpk0-2, OUT0, NONE);
+ PIN_SLP(gpk0-3, INPUT, DOWN);
+ PIN_SLP(gpk0-4, INPUT, DOWN);
+ PIN_SLP(gpk0-5, INPUT, DOWN);
+ PIN_SLP(gpk0-6, INPUT, DOWN);
+ PIN_SLP(gpk0-7, INPUT, DOWN);
+
+ PIN_SLP(gpk1-0, PREV, NONE);
+ PIN_SLP(gpk1-1, PREV, NONE);
+ PIN_SLP(gpk1-2, INPUT, DOWN);
+ PIN_SLP(gpk1-3, PREV, NONE);
+ PIN_SLP(gpk1-4, PREV, NONE);
+ PIN_SLP(gpk1-5, PREV, NONE);
+ PIN_SLP(gpk1-6, PREV, NONE);
+
+ PIN_SLP(gpk2-0, INPUT, DOWN);
+ PIN_SLP(gpk2-1, INPUT, DOWN);
+ PIN_SLP(gpk2-2, INPUT, DOWN);
+ PIN_SLP(gpk2-3, INPUT, DOWN);
+ PIN_SLP(gpk2-4, INPUT, DOWN);
+ PIN_SLP(gpk2-5, INPUT, DOWN);
+ PIN_SLP(gpk2-6, INPUT, DOWN);
+
+ PIN_SLP(gpl0-0, INPUT, DOWN);
+ PIN_SLP(gpl0-1, INPUT, DOWN);
+ PIN_SLP(gpl0-2, INPUT, DOWN);
+ PIN_SLP(gpl0-3, INPUT, DOWN);
+
+ PIN_SLP(gpm0-0, INPUT, DOWN);
+ PIN_SLP(gpm0-1, INPUT, DOWN);
+ PIN_SLP(gpm0-2, INPUT, DOWN);
+ PIN_SLP(gpm0-3, INPUT, DOWN);
+ PIN_SLP(gpm0-4, INPUT, DOWN);
+ PIN_SLP(gpm0-5, INPUT, DOWN);
+ PIN_SLP(gpm0-6, INPUT, DOWN);
+ PIN_SLP(gpm0-7, INPUT, DOWN);
+
+ PIN_SLP(gpm1-0, INPUT, DOWN);
+ PIN_SLP(gpm1-1, INPUT, DOWN);
+ PIN_SLP(gpm1-2, INPUT, DOWN);
+ PIN_SLP(gpm1-3, INPUT, DOWN);
+ PIN_SLP(gpm1-4, INPUT, DOWN);
+ PIN_SLP(gpm1-5, INPUT, DOWN);
+ PIN_SLP(gpm1-6, INPUT, DOWN);
+
+ PIN_SLP(gpm2-0, INPUT, DOWN);
+ PIN_SLP(gpm2-1, INPUT, DOWN);
+ PIN_SLP(gpm2-2, INPUT, DOWN);
+ PIN_SLP(gpm2-3, INPUT, DOWN);
+ PIN_SLP(gpm2-4, INPUT, DOWN);
+
+ PIN_SLP(gpm3-0, INPUT, DOWN);
+ PIN_SLP(gpm3-1, INPUT, DOWN);
+ PIN_SLP(gpm3-2, INPUT, DOWN);
+ PIN_SLP(gpm3-3, INPUT, DOWN);
+ PIN_SLP(gpm3-4, INPUT, DOWN);
+ PIN_SLP(gpm3-5, INPUT, DOWN);
+ PIN_SLP(gpm3-6, INPUT, DOWN);
+ PIN_SLP(gpm3-7, INPUT, DOWN);
+
+ PIN_SLP(gpm4-0, INPUT, DOWN);
+ PIN_SLP(gpm4-1, INPUT, DOWN);
+ PIN_SLP(gpm4-2, INPUT, DOWN);
+ PIN_SLP(gpm4-3, INPUT, DOWN);
+ PIN_SLP(gpm4-4, INPUT, DOWN);
+ PIN_SLP(gpm4-5, INPUT, DOWN);
+ PIN_SLP(gpm4-6, INPUT, DOWN);
+ PIN_SLP(gpm4-7, INPUT, DOWN);
+ };
+};
--
1.9.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-10-08 2:11 ` YoungJun Cho
0 siblings, 0 replies; 14+ messages in thread
From: YoungJun Cho @ 2014-10-08 2:11 UTC (permalink / raw)
To: linux-arm-kernel
From: Youngjun Cho <yj44.cho@samsung.com>
This patch adds new board dts file to support Samsung Monk board which is
based on Exynos3250 SoC and has different H/W configuration from Rinato.
This patch is based on linux-samsung.git for-next branch and depends on
[PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
Changes from v1:
- The 'memory' entries coalesce into one entry
- Removes useless space
- Puts voltage-regulator-0 under the root node
This dts file support following features:
- eMMC
- Main PMIC (Samsung S2MPS14)
- Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
- RTC of Exynos3250
- ADC of Exynos3250 with NTC thermistor
- I2S of Exynos3250
- TMU of Exynos3250
- Secure firmware for Exynos3250 secondary cpu boot
- Serial ports of Exynos3250
- gpio-key for power key
Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
2 files changed, 585 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5728918..0c8ae64 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
da850-evm.dtb
dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
-dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
+ exynos3250-rinato.dtb \
exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
new file mode 100644
index 0000000..615672f
--- /dev/null
+++ b/arch/arm/boot/dts/exynos3250-monk.dts
@@ -0,0 +1,583 @@
+/*
+ * Samsung's Exynos3250 based Monk board device tree source
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Device tree source file for Samsung's Monk board which is based on
+ * Samsung Exynos3250 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 "exynos3250.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Samsung Monk board";
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
+
+ aliases {
+ i2c7 = &i2c_max77836;
+ };
+
+ memory {
+ reg = <0x40000000 0x1ff00000>;
+ };
+
+ chosen {
+ bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
+ };
+
+ firmware at 0205F000 {
+ compatible = "samsung,secure-firmware";
+ reg = <0x0205F000 0x1000>;
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+
+ power_key {
+ interrupt-parent = <&gpx2>;
+ interrupts = <7 0>;
+ gpios = <&gpx2 7 1>;
+ linux,code = <KEY_POWER>;
+ label = "power key";
+ debounce-interval = <10>;
+ gpio-key,wakeup;
+ };
+ };
+
+ vemmc_reg: voltage-regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "V_EMMC_2.8V-fixed";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpk0 2 0>;
+ enable-active-high;
+ };
+
+ i2c_max77836: i2c-gpio-0 {
+ compatible = "i2c-gpio";
+ gpios = <&gpd0 2 0>, <&gpd0 3 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ max77836: subpmic at 25 {
+ compatible = "maxim,max77836";
+ interrupt-parent = <&gpx1>;
+ interrupts = <5 0>;
+ reg = <0x25>;
+ wakeup;
+
+ muic: max77836-muic {
+ compatible = "maxim,max77836-muic";
+ };
+
+ regulators {
+ compatible = "maxim,max77836-regulator";
+ safeout_reg: SAFEOUT {
+ regulator-name = "SAFEOUT";
+ };
+
+ charger_reg: CHARGER {
+ regulator-name = "CHARGER";
+ regulator-min-microamp = <45000>;
+ regulator-max-microamp = <475000>;
+ regulator-boot-on;
+ };
+
+ motor_reg: LDO1 {
+ regulator-name = "MOT_2.7V";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <2700000>;
+ };
+
+ LDO2 {
+ regulator-name = "UNUSED_LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3950000>;
+ };
+ };
+
+ charger {
+ compatible = "maxim,max77836-charger";
+
+ maxim,constant-uvolt = <4350000>;
+ maxim,fast-charge-uamp = <225000>;
+ maxim,eoc-uamp = <7500>;
+ maxim,ovp-uvolt = <6500000>;
+ };
+ };
+ };
+};
+
+&adc {
+ vdd-supply = <&ldo3_reg>;
+ status = "okay";
+ assigned-clocks = <&cmu CLK_SCLK_TSADC>;
+ assigned-clock-rates = <6000000>;
+
+ thermistor-ap {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 0>;
+ };
+
+ thermistor-battery {
+ compatible = "ntc,ncp15wb473";
+ pullup-uv = <1800000>;
+ pullup-ohm = <100000>;
+ pulldown-ohm = <100000>;
+ io-channels = <&adc 1>;
+ };
+};
+
+&i2c_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <100000>;
+ status = "okay";
+
+ s2mps14_pmic at 66 {
+ compatible = "samsung,s2mps14-pmic";
+ interrupt-parent = <&gpx0>;
+ interrupts = <7 0>;
+ reg = <0x66>;
+ wakeup;
+
+ s2mps14_osc: clocks {
+ compatible = "samsung,s2mps14-clk";
+ #clock-cells = <1>;
+ clock-output-names = "s2mps14_ap", "unused",
+ "s2mps14_bt";
+ };
+
+ regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "VAP_ALIVE_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "VAP_M1_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "VCC_AP_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "VAP_AVDD_PLL1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "VAP_PLL_ISO_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "VAP_MIPI_1.0V";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "VAP_AVDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "VAP_USB_3.0V";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "V_LPDDR_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "UNUSED_LDO10";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "V_EMMC_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "V_EMMC_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ samsung,ext-control-gpios = <&gpk0 2 0>;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "VSENSOR_2.85V";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ regulator-always-on;
+ };
+
+ ldo14_reg: LDO14 {
+ regulator-name = "UNUSED_LDO14";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "TSP_AVDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "LCD_VDD_3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "UNUSED_LDO17";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "UNUSED_LDO18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "TSP_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo20_reg: LDO20 {
+ regulator-name = "LCD_VDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo21_reg: LDO21 {
+ regulator-name = "UNUSED_LDO21";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo22_reg: LDO22 {
+ regulator-name = "UNUSED_LDO22";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ ldo23_reg: LDO23 {
+ regulator-name = "UNUSED_LDO23";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "UNUSED_LDO24";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo25_reg: LDO25 {
+ regulator-name = "UNUSED_LDO25";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "VAP_MIF_1.0V";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <900000>;
+ regulator-always-on;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "VAP_ARM_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-always-on;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "VAP_INT3D_1.0V";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "VCC_SUB_1.95V";
+ regulator-min-microvolt = <1950000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "VCC_SUB_1.35V";
+ regulator-min-microvolt = <1350000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&i2c_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ samsung,i2c-sda-delay = <100>;
+ samsung,i2c-slave-addr = <0x10>;
+ samsung,i2c-max-bus-freq = <400000>;
+ status = "okay";
+
+ fuelgauge at 36 {
+ compatible = "maxim,max77836-battery";
+ interrupt-parent = <&gpx1>;
+ interrupts = <2 8>;
+ reg = <0x36>;
+ };
+};
+
+&i2s2 {
+ status = "okay";
+};
+
+&mshc_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-slots = <1>;
+ broken-cd;
+ non-removable;
+ cap-mmc-highspeed;
+ desc-num = <4>;
+ mmc-hs200-1_8v;
+ card-detect-delay = <200>;
+ vmmc-supply = <&vemmc_reg>;
+ clock-frequency = <100000000>;
+ clock-freq-min-max = <400000 100000000>;
+ samsung,dw-mshc-ciu-div = <1>;
+ samsung,dw-mshc-sdr-timing = <0 1>;
+ samsung,dw-mshc-ddr-timing = <1 2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+ bus-width = <8>;
+ status = "okay";
+};
+
+&serial_0 {
+ assigned-clocks = <&cmu CLK_SCLK_UART0>;
+ assigned-clock-rates = <100000000>;
+ status = "okay";
+};
+
+&serial_1 {
+ status = "okay";
+};
+
+&tmu {
+ vtmu-supply = <&ldo7_reg>;
+ status = "okay";
+};
+
+&rtc {
+ clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
+ clock-names = "rtc", "rtc_src";
+ status = "okay";
+};
+
+&xusbxti {
+ clock-frequency = <24000000>;
+};
+
+&pinctrl_0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep0>;
+
+ sleep0: sleep-state {
+ PIN_SLP(gpa0-0, INPUT, DOWN);
+ PIN_SLP(gpa0-1, INPUT, DOWN);
+ PIN_SLP(gpa0-2, INPUT, DOWN);
+ PIN_SLP(gpa0-3, INPUT, DOWN);
+ PIN_SLP(gpa0-4, INPUT, DOWN);
+ PIN_SLP(gpa0-5, INPUT, DOWN);
+ PIN_SLP(gpa0-6, INPUT, DOWN);
+ PIN_SLP(gpa0-7, INPUT, DOWN);
+
+ PIN_SLP(gpa1-0, INPUT, DOWN);
+ PIN_SLP(gpa1-1, INPUT, DOWN);
+ PIN_SLP(gpa1-2, INPUT, DOWN);
+ PIN_SLP(gpa1-3, INPUT, DOWN);
+ PIN_SLP(gpa1-4, INPUT, DOWN);
+ PIN_SLP(gpa1-5, INPUT, DOWN);
+
+ PIN_SLP(gpb-0, PREV, NONE);
+ PIN_SLP(gpb-1, PREV, NONE);
+ PIN_SLP(gpb-2, PREV, NONE);
+ PIN_SLP(gpb-3, PREV, NONE);
+ PIN_SLP(gpb-4, INPUT, DOWN);
+ PIN_SLP(gpb-5, INPUT, DOWN);
+ PIN_SLP(gpb-6, INPUT, DOWN);
+ PIN_SLP(gpb-7, INPUT, DOWN);
+
+ PIN_SLP(gpc0-0, INPUT, DOWN);
+ PIN_SLP(gpc0-1, INPUT, DOWN);
+ PIN_SLP(gpc0-2, INPUT, DOWN);
+ PIN_SLP(gpc0-3, INPUT, DOWN);
+ PIN_SLP(gpc0-4, INPUT, DOWN);
+
+ PIN_SLP(gpc1-0, INPUT, DOWN);
+ PIN_SLP(gpc1-1, INPUT, DOWN);
+ PIN_SLP(gpc1-2, INPUT, DOWN);
+ PIN_SLP(gpc1-3, INPUT, DOWN);
+ PIN_SLP(gpc1-4, INPUT, DOWN);
+
+ PIN_SLP(gpd0-0, INPUT, DOWN);
+ PIN_SLP(gpd0-1, INPUT, DOWN);
+ PIN_SLP(gpd0-2, INPUT, NONE);
+ PIN_SLP(gpd0-3, INPUT, NONE);
+
+ PIN_SLP(gpd1-0, INPUT, NONE);
+ PIN_SLP(gpd1-1, INPUT, NONE);
+ PIN_SLP(gpd1-2, INPUT, NONE);
+ PIN_SLP(gpd1-3, INPUT, NONE);
+ };
+};
+
+&pinctrl_1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sleep1>;
+
+ sleep1: sleep-state {
+ PIN_SLP(gpe0-0, PREV, NONE);
+ PIN_SLP(gpe0-1, PREV, NONE);
+ PIN_SLP(gpe0-2, INPUT, DOWN);
+ PIN_SLP(gpe0-3, INPUT, DOWN);
+ PIN_SLP(gpe0-4, PREV, NONE);
+ PIN_SLP(gpe0-5, INPUT, DOWN);
+ PIN_SLP(gpe0-6, INPUT, DOWN);
+ PIN_SLP(gpe0-7, INPUT, DOWN);
+
+ PIN_SLP(gpe1-0, INPUT, DOWN);
+ PIN_SLP(gpe1-1, PREV, NONE);
+ PIN_SLP(gpe1-2, INPUT, DOWN);
+ PIN_SLP(gpe1-3, INPUT, DOWN);
+ PIN_SLP(gpe1-4, INPUT, DOWN);
+ PIN_SLP(gpe1-5, INPUT, DOWN);
+ PIN_SLP(gpe1-6, INPUT, DOWN);
+ PIN_SLP(gpe1-7, INPUT, NONE);
+
+ PIN_SLP(gpe2-0, INPUT, NONE);
+ PIN_SLP(gpe2-1, INPUT, NONE);
+ PIN_SLP(gpe2-2, INPUT, NONE);
+
+ PIN_SLP(gpk0-0, INPUT, DOWN);
+ PIN_SLP(gpk0-1, INPUT, DOWN);
+ PIN_SLP(gpk0-2, OUT0, NONE);
+ PIN_SLP(gpk0-3, INPUT, DOWN);
+ PIN_SLP(gpk0-4, INPUT, DOWN);
+ PIN_SLP(gpk0-5, INPUT, DOWN);
+ PIN_SLP(gpk0-6, INPUT, DOWN);
+ PIN_SLP(gpk0-7, INPUT, DOWN);
+
+ PIN_SLP(gpk1-0, PREV, NONE);
+ PIN_SLP(gpk1-1, PREV, NONE);
+ PIN_SLP(gpk1-2, INPUT, DOWN);
+ PIN_SLP(gpk1-3, PREV, NONE);
+ PIN_SLP(gpk1-4, PREV, NONE);
+ PIN_SLP(gpk1-5, PREV, NONE);
+ PIN_SLP(gpk1-6, PREV, NONE);
+
+ PIN_SLP(gpk2-0, INPUT, DOWN);
+ PIN_SLP(gpk2-1, INPUT, DOWN);
+ PIN_SLP(gpk2-2, INPUT, DOWN);
+ PIN_SLP(gpk2-3, INPUT, DOWN);
+ PIN_SLP(gpk2-4, INPUT, DOWN);
+ PIN_SLP(gpk2-5, INPUT, DOWN);
+ PIN_SLP(gpk2-6, INPUT, DOWN);
+
+ PIN_SLP(gpl0-0, INPUT, DOWN);
+ PIN_SLP(gpl0-1, INPUT, DOWN);
+ PIN_SLP(gpl0-2, INPUT, DOWN);
+ PIN_SLP(gpl0-3, INPUT, DOWN);
+
+ PIN_SLP(gpm0-0, INPUT, DOWN);
+ PIN_SLP(gpm0-1, INPUT, DOWN);
+ PIN_SLP(gpm0-2, INPUT, DOWN);
+ PIN_SLP(gpm0-3, INPUT, DOWN);
+ PIN_SLP(gpm0-4, INPUT, DOWN);
+ PIN_SLP(gpm0-5, INPUT, DOWN);
+ PIN_SLP(gpm0-6, INPUT, DOWN);
+ PIN_SLP(gpm0-7, INPUT, DOWN);
+
+ PIN_SLP(gpm1-0, INPUT, DOWN);
+ PIN_SLP(gpm1-1, INPUT, DOWN);
+ PIN_SLP(gpm1-2, INPUT, DOWN);
+ PIN_SLP(gpm1-3, INPUT, DOWN);
+ PIN_SLP(gpm1-4, INPUT, DOWN);
+ PIN_SLP(gpm1-5, INPUT, DOWN);
+ PIN_SLP(gpm1-6, INPUT, DOWN);
+
+ PIN_SLP(gpm2-0, INPUT, DOWN);
+ PIN_SLP(gpm2-1, INPUT, DOWN);
+ PIN_SLP(gpm2-2, INPUT, DOWN);
+ PIN_SLP(gpm2-3, INPUT, DOWN);
+ PIN_SLP(gpm2-4, INPUT, DOWN);
+
+ PIN_SLP(gpm3-0, INPUT, DOWN);
+ PIN_SLP(gpm3-1, INPUT, DOWN);
+ PIN_SLP(gpm3-2, INPUT, DOWN);
+ PIN_SLP(gpm3-3, INPUT, DOWN);
+ PIN_SLP(gpm3-4, INPUT, DOWN);
+ PIN_SLP(gpm3-5, INPUT, DOWN);
+ PIN_SLP(gpm3-6, INPUT, DOWN);
+ PIN_SLP(gpm3-7, INPUT, DOWN);
+
+ PIN_SLP(gpm4-0, INPUT, DOWN);
+ PIN_SLP(gpm4-1, INPUT, DOWN);
+ PIN_SLP(gpm4-2, INPUT, DOWN);
+ PIN_SLP(gpm4-3, INPUT, DOWN);
+ PIN_SLP(gpm4-4, INPUT, DOWN);
+ PIN_SLP(gpm4-5, INPUT, DOWN);
+ PIN_SLP(gpm4-6, INPUT, DOWN);
+ PIN_SLP(gpm4-7, INPUT, DOWN);
+ };
+};
--
1.9.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-10-08 2:11 ` YoungJun Cho
@ 2014-11-18 6:36 ` Chanwoo Choi
-1 siblings, 0 replies; 14+ messages in thread
From: Chanwoo Choi @ 2014-11-18 6:36 UTC (permalink / raw)
To: YoungJun Cho
Cc: linux-arm-kernel, linux-samsung-soc, mark.rutland, kgene.kim,
tomasz.figa, kyungmin.park, inki.dae, sw0312.kim, jh80.chung,
geunsik.lim, arnd, olof
Dear Kukjin,
Could you please review or pick this patchset?
Best Regards,
Chanwoo Choi
On 10/08/2014 11:11 AM, YoungJun Cho wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>
> Changes from v1:
> - The 'memory' entries coalesce into one entry
> - Removes useless space
> - Puts voltage-regulator-0 under the root node
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
> 2 files changed, 585 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..615672f
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,583 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x1ff00000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware@0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> +
> + i2c_max77836: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 2 0>, <&gpd0 3 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + max77836: subpmic@25 {
> + compatible = "maxim,max77836";
> + interrupt-parent = <&gpx1>;
> + interrupts = <5 0>;
> + reg = <0x25>;
> + wakeup;
> +
> + muic: max77836-muic {
> + compatible = "maxim,max77836-muic";
> + };
> +
> + regulators {
> + compatible = "maxim,max77836-regulator";
> + safeout_reg: SAFEOUT {
> + regulator-name = "SAFEOUT";
> + };
> +
> + charger_reg: CHARGER {
> + regulator-name = "CHARGER";
> + regulator-min-microamp = <45000>;
> + regulator-max-microamp = <475000>;
> + regulator-boot-on;
> + };
> +
> + motor_reg: LDO1 {
> + regulator-name = "MOT_2.7V";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <2700000>;
> + };
> +
> + LDO2 {
> + regulator-name = "UNUSED_LDO2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3950000>;
> + };
> + };
> +
> + charger {
> + compatible = "maxim,max77836-charger";
> +
> + maxim,constant-uvolt = <4350000>;
> + maxim,fast-charge-uamp = <225000>;
> + maxim,eoc-uamp = <7500>;
> + maxim,ovp-uvolt = <6500000>;
> + };
> + };
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> + assigned-clocks = <&cmu CLK_SCLK_TSADC>;
> + assigned-clock-rates = <6000000>;
> +
> + thermistor-ap {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor-battery {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 1>;
> + };
> +};
> +
> +&i2c_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <100000>;
> + status = "okay";
> +
> + s2mps14_pmic@66 {
> + compatible = "samsung,s2mps14-pmic";
> + interrupt-parent = <&gpx0>;
> + interrupts = <7 0>;
> + reg = <0x66>;
> + wakeup;
> +
> + s2mps14_osc: clocks {
> + compatible = "samsung,s2mps14-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps14_ap", "unused",
> + "s2mps14_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VAP_ALIVE_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VAP_M1_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VCC_AP_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VAP_AVDD_PLL1";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VAP_PLL_ISO_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VAP_MIPI_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VAP_AVDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VAP_USB_3.0V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "V_LPDDR_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "UNUSED_LDO10";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "V_EMMC_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "V_EMMC_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VSENSOR_2.85V";
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + regulator-always-on;
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "UNUSED_LDO14";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "TSP_AVDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "LCD_VDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "UNUSED_LDO17";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "UNUSED_LDO18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "TSP_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "LCD_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "UNUSED_LDO21";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "UNUSED_LDO22";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "UNUSED_LDO23";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "UNUSED_LDO24";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "UNUSED_LDO25";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VAP_MIF_1.0V";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VAP_ARM_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1150000>;
> + regulator-always-on;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VAP_INT3D_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VCC_SUB_1.95V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VCC_SUB_1.35V";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&i2c_1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + status = "okay";
> +
> + fuelgauge@36 {
> + compatible = "maxim,max77836-battery";
> + interrupt-parent = <&gpx1>;
> + interrupts = <2 8>;
> + reg = <0x36>;
> + };
> +};
> +
> +&i2s2 {
> + status = "okay";
> +};
> +
> +&mshc_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + num-slots = <1>;
> + broken-cd;
> + non-removable;
> + cap-mmc-highspeed;
> + desc-num = <4>;
> + mmc-hs200-1_8v;
> + card-detect-delay = <200>;
> + vmmc-supply = <&vemmc_reg>;
> + clock-frequency = <100000000>;
> + clock-freq-min-max = <400000 100000000>;
> + samsung,dw-mshc-ciu-div = <1>;
> + samsung,dw-mshc-sdr-timing = <0 1>;
> + samsung,dw-mshc-ddr-timing = <1 2>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> + bus-width = <8>;
> + status = "okay";
> +};
> +
> +&serial_0 {
> + assigned-clocks = <&cmu CLK_SCLK_UART0>;
> + assigned-clock-rates = <100000000>;
> + status = "okay";
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&tmu {
> + vtmu-supply = <&ldo7_reg>;
> + status = "okay";
> +};
> +
> +&rtc {
> + clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
> + clock-names = "rtc", "rtc_src";
> + status = "okay";
> +};
> +
> +&xusbxti {
> + clock-frequency = <24000000>;
> +};
> +
> +&pinctrl_0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep0>;
> +
> + sleep0: sleep-state {
> + PIN_SLP(gpa0-0, INPUT, DOWN);
> + PIN_SLP(gpa0-1, INPUT, DOWN);
> + PIN_SLP(gpa0-2, INPUT, DOWN);
> + PIN_SLP(gpa0-3, INPUT, DOWN);
> + PIN_SLP(gpa0-4, INPUT, DOWN);
> + PIN_SLP(gpa0-5, INPUT, DOWN);
> + PIN_SLP(gpa0-6, INPUT, DOWN);
> + PIN_SLP(gpa0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpa1-0, INPUT, DOWN);
> + PIN_SLP(gpa1-1, INPUT, DOWN);
> + PIN_SLP(gpa1-2, INPUT, DOWN);
> + PIN_SLP(gpa1-3, INPUT, DOWN);
> + PIN_SLP(gpa1-4, INPUT, DOWN);
> + PIN_SLP(gpa1-5, INPUT, DOWN);
> +
> + PIN_SLP(gpb-0, PREV, NONE);
> + PIN_SLP(gpb-1, PREV, NONE);
> + PIN_SLP(gpb-2, PREV, NONE);
> + PIN_SLP(gpb-3, PREV, NONE);
> + PIN_SLP(gpb-4, INPUT, DOWN);
> + PIN_SLP(gpb-5, INPUT, DOWN);
> + PIN_SLP(gpb-6, INPUT, DOWN);
> + PIN_SLP(gpb-7, INPUT, DOWN);
> +
> + PIN_SLP(gpc0-0, INPUT, DOWN);
> + PIN_SLP(gpc0-1, INPUT, DOWN);
> + PIN_SLP(gpc0-2, INPUT, DOWN);
> + PIN_SLP(gpc0-3, INPUT, DOWN);
> + PIN_SLP(gpc0-4, INPUT, DOWN);
> +
> + PIN_SLP(gpc1-0, INPUT, DOWN);
> + PIN_SLP(gpc1-1, INPUT, DOWN);
> + PIN_SLP(gpc1-2, INPUT, DOWN);
> + PIN_SLP(gpc1-3, INPUT, DOWN);
> + PIN_SLP(gpc1-4, INPUT, DOWN);
> +
> + PIN_SLP(gpd0-0, INPUT, DOWN);
> + PIN_SLP(gpd0-1, INPUT, DOWN);
> + PIN_SLP(gpd0-2, INPUT, NONE);
> + PIN_SLP(gpd0-3, INPUT, NONE);
> +
> + PIN_SLP(gpd1-0, INPUT, NONE);
> + PIN_SLP(gpd1-1, INPUT, NONE);
> + PIN_SLP(gpd1-2, INPUT, NONE);
> + PIN_SLP(gpd1-3, INPUT, NONE);
> + };
> +};
> +
> +&pinctrl_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep1>;
> +
> + sleep1: sleep-state {
> + PIN_SLP(gpe0-0, PREV, NONE);
> + PIN_SLP(gpe0-1, PREV, NONE);
> + PIN_SLP(gpe0-2, INPUT, DOWN);
> + PIN_SLP(gpe0-3, INPUT, DOWN);
> + PIN_SLP(gpe0-4, PREV, NONE);
> + PIN_SLP(gpe0-5, INPUT, DOWN);
> + PIN_SLP(gpe0-6, INPUT, DOWN);
> + PIN_SLP(gpe0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpe1-0, INPUT, DOWN);
> + PIN_SLP(gpe1-1, PREV, NONE);
> + PIN_SLP(gpe1-2, INPUT, DOWN);
> + PIN_SLP(gpe1-3, INPUT, DOWN);
> + PIN_SLP(gpe1-4, INPUT, DOWN);
> + PIN_SLP(gpe1-5, INPUT, DOWN);
> + PIN_SLP(gpe1-6, INPUT, DOWN);
> + PIN_SLP(gpe1-7, INPUT, NONE);
> +
> + PIN_SLP(gpe2-0, INPUT, NONE);
> + PIN_SLP(gpe2-1, INPUT, NONE);
> + PIN_SLP(gpe2-2, INPUT, NONE);
> +
> + PIN_SLP(gpk0-0, INPUT, DOWN);
> + PIN_SLP(gpk0-1, INPUT, DOWN);
> + PIN_SLP(gpk0-2, OUT0, NONE);
> + PIN_SLP(gpk0-3, INPUT, DOWN);
> + PIN_SLP(gpk0-4, INPUT, DOWN);
> + PIN_SLP(gpk0-5, INPUT, DOWN);
> + PIN_SLP(gpk0-6, INPUT, DOWN);
> + PIN_SLP(gpk0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpk1-0, PREV, NONE);
> + PIN_SLP(gpk1-1, PREV, NONE);
> + PIN_SLP(gpk1-2, INPUT, DOWN);
> + PIN_SLP(gpk1-3, PREV, NONE);
> + PIN_SLP(gpk1-4, PREV, NONE);
> + PIN_SLP(gpk1-5, PREV, NONE);
> + PIN_SLP(gpk1-6, PREV, NONE);
> +
> + PIN_SLP(gpk2-0, INPUT, DOWN);
> + PIN_SLP(gpk2-1, INPUT, DOWN);
> + PIN_SLP(gpk2-2, INPUT, DOWN);
> + PIN_SLP(gpk2-3, INPUT, DOWN);
> + PIN_SLP(gpk2-4, INPUT, DOWN);
> + PIN_SLP(gpk2-5, INPUT, DOWN);
> + PIN_SLP(gpk2-6, INPUT, DOWN);
> +
> + PIN_SLP(gpl0-0, INPUT, DOWN);
> + PIN_SLP(gpl0-1, INPUT, DOWN);
> + PIN_SLP(gpl0-2, INPUT, DOWN);
> + PIN_SLP(gpl0-3, INPUT, DOWN);
> +
> + PIN_SLP(gpm0-0, INPUT, DOWN);
> + PIN_SLP(gpm0-1, INPUT, DOWN);
> + PIN_SLP(gpm0-2, INPUT, DOWN);
> + PIN_SLP(gpm0-3, INPUT, DOWN);
> + PIN_SLP(gpm0-4, INPUT, DOWN);
> + PIN_SLP(gpm0-5, INPUT, DOWN);
> + PIN_SLP(gpm0-6, INPUT, DOWN);
> + PIN_SLP(gpm0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm1-0, INPUT, DOWN);
> + PIN_SLP(gpm1-1, INPUT, DOWN);
> + PIN_SLP(gpm1-2, INPUT, DOWN);
> + PIN_SLP(gpm1-3, INPUT, DOWN);
> + PIN_SLP(gpm1-4, INPUT, DOWN);
> + PIN_SLP(gpm1-5, INPUT, DOWN);
> + PIN_SLP(gpm1-6, INPUT, DOWN);
> +
> + PIN_SLP(gpm2-0, INPUT, DOWN);
> + PIN_SLP(gpm2-1, INPUT, DOWN);
> + PIN_SLP(gpm2-2, INPUT, DOWN);
> + PIN_SLP(gpm2-3, INPUT, DOWN);
> + PIN_SLP(gpm2-4, INPUT, DOWN);
> +
> + PIN_SLP(gpm3-0, INPUT, DOWN);
> + PIN_SLP(gpm3-1, INPUT, DOWN);
> + PIN_SLP(gpm3-2, INPUT, DOWN);
> + PIN_SLP(gpm3-3, INPUT, DOWN);
> + PIN_SLP(gpm3-4, INPUT, DOWN);
> + PIN_SLP(gpm3-5, INPUT, DOWN);
> + PIN_SLP(gpm3-6, INPUT, DOWN);
> + PIN_SLP(gpm3-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm4-0, INPUT, DOWN);
> + PIN_SLP(gpm4-1, INPUT, DOWN);
> + PIN_SLP(gpm4-2, INPUT, DOWN);
> + PIN_SLP(gpm4-3, INPUT, DOWN);
> + PIN_SLP(gpm4-4, INPUT, DOWN);
> + PIN_SLP(gpm4-5, INPUT, DOWN);
> + PIN_SLP(gpm4-6, INPUT, DOWN);
> + PIN_SLP(gpm4-7, INPUT, DOWN);
> + };
> +};
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-11-18 6:36 ` Chanwoo Choi
0 siblings, 0 replies; 14+ messages in thread
From: Chanwoo Choi @ 2014-11-18 6:36 UTC (permalink / raw)
To: linux-arm-kernel
Dear Kukjin,
Could you please review or pick this patchset?
Best Regards,
Chanwoo Choi
On 10/08/2014 11:11 AM, YoungJun Cho wrote:
> From: Youngjun Cho <yj44.cho@samsung.com>
>
> This patch adds new board dts file to support Samsung Monk board which is
> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>
> This patch is based on linux-samsung.git for-next branch and depends on
> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>
> Changes from v1:
> - The 'memory' entries coalesce into one entry
> - Removes useless space
> - Puts voltage-regulator-0 under the root node
>
> This dts file support following features:
> - eMMC
> - Main PMIC (Samsung S2MPS14)
> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
> - RTC of Exynos3250
> - ADC of Exynos3250 with NTC thermistor
> - I2S of Exynos3250
> - TMU of Exynos3250
> - Secure firmware for Exynos3250 secondary cpu boot
> - Serial ports of Exynos3250
> - gpio-key for power key
>
> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> arch/arm/boot/dts/Makefile | 3 +-
> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
> 2 files changed, 585 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 5728918..0c8ae64 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
> da850-evm.dtb
> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
> + exynos3250-rinato.dtb \
> exynos4210-origen.dtb \
> exynos4210-smdkv310.dtb \
> exynos4210-trats.dtb \
> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
> new file mode 100644
> index 0000000..615672f
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
> @@ -0,0 +1,583 @@
> +/*
> + * Samsung's Exynos3250 based Monk board device tree source
> + *
> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
> + * http://www.samsung.com
> + *
> + * Device tree source file for Samsung's Monk board which is based on
> + * Samsung Exynos3250 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 "exynos3250.dtsi"
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Monk board";
> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
> +
> + aliases {
> + i2c7 = &i2c_max77836;
> + };
> +
> + memory {
> + reg = <0x40000000 0x1ff00000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
> + };
> +
> + firmware at 0205F000 {
> + compatible = "samsung,secure-firmware";
> + reg = <0x0205F000 0x1000>;
> + };
> +
> + gpio_keys {
> + compatible = "gpio-keys";
> +
> + power_key {
> + interrupt-parent = <&gpx2>;
> + interrupts = <7 0>;
> + gpios = <&gpx2 7 1>;
> + linux,code = <KEY_POWER>;
> + label = "power key";
> + debounce-interval = <10>;
> + gpio-key,wakeup;
> + };
> + };
> +
> + vemmc_reg: voltage-regulator-0 {
> + compatible = "regulator-fixed";
> + regulator-name = "V_EMMC_2.8V-fixed";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + gpio = <&gpk0 2 0>;
> + enable-active-high;
> + };
> +
> + i2c_max77836: i2c-gpio-0 {
> + compatible = "i2c-gpio";
> + gpios = <&gpd0 2 0>, <&gpd0 3 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + max77836: subpmic at 25 {
> + compatible = "maxim,max77836";
> + interrupt-parent = <&gpx1>;
> + interrupts = <5 0>;
> + reg = <0x25>;
> + wakeup;
> +
> + muic: max77836-muic {
> + compatible = "maxim,max77836-muic";
> + };
> +
> + regulators {
> + compatible = "maxim,max77836-regulator";
> + safeout_reg: SAFEOUT {
> + regulator-name = "SAFEOUT";
> + };
> +
> + charger_reg: CHARGER {
> + regulator-name = "CHARGER";
> + regulator-min-microamp = <45000>;
> + regulator-max-microamp = <475000>;
> + regulator-boot-on;
> + };
> +
> + motor_reg: LDO1 {
> + regulator-name = "MOT_2.7V";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <2700000>;
> + };
> +
> + LDO2 {
> + regulator-name = "UNUSED_LDO2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3950000>;
> + };
> + };
> +
> + charger {
> + compatible = "maxim,max77836-charger";
> +
> + maxim,constant-uvolt = <4350000>;
> + maxim,fast-charge-uamp = <225000>;
> + maxim,eoc-uamp = <7500>;
> + maxim,ovp-uvolt = <6500000>;
> + };
> + };
> + };
> +};
> +
> +&adc {
> + vdd-supply = <&ldo3_reg>;
> + status = "okay";
> + assigned-clocks = <&cmu CLK_SCLK_TSADC>;
> + assigned-clock-rates = <6000000>;
> +
> + thermistor-ap {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 0>;
> + };
> +
> + thermistor-battery {
> + compatible = "ntc,ncp15wb473";
> + pullup-uv = <1800000>;
> + pullup-ohm = <100000>;
> + pulldown-ohm = <100000>;
> + io-channels = <&adc 1>;
> + };
> +};
> +
> +&i2c_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <100000>;
> + status = "okay";
> +
> + s2mps14_pmic at 66 {
> + compatible = "samsung,s2mps14-pmic";
> + interrupt-parent = <&gpx0>;
> + interrupts = <7 0>;
> + reg = <0x66>;
> + wakeup;
> +
> + s2mps14_osc: clocks {
> + compatible = "samsung,s2mps14-clk";
> + #clock-cells = <1>;
> + clock-output-names = "s2mps14_ap", "unused",
> + "s2mps14_bt";
> + };
> +
> + regulators {
> + ldo1_reg: LDO1 {
> + regulator-name = "VAP_ALIVE_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "VAP_M1_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "VCC_AP_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "VAP_AVDD_PLL1";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "VAP_PLL_ISO_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "VAP_MIPI_1.0V";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo7_reg: LDO7 {
> + regulator-name = "VAP_AVDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: LDO8 {
> + regulator-name = "VAP_USB_3.0V";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-always-on;
> + };
> +
> + ldo9_reg: LDO9 {
> + regulator-name = "V_LPDDR_1.2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-always-on;
> + };
> +
> + ldo10_reg: LDO10 {
> + regulator-name = "UNUSED_LDO10";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo11_reg: LDO11 {
> + regulator-name = "V_EMMC_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo12_reg: LDO12 {
> + regulator-name = "V_EMMC_2.8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + samsung,ext-control-gpios = <&gpk0 2 0>;
> + };
> +
> + ldo13_reg: LDO13 {
> + regulator-name = "VSENSOR_2.85V";
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + regulator-always-on;
> + };
> +
> + ldo14_reg: LDO14 {
> + regulator-name = "UNUSED_LDO14";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo15_reg: LDO15 {
> + regulator-name = "TSP_AVDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo16_reg: LDO16 {
> + regulator-name = "LCD_VDD_3.3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + ldo17_reg: LDO17 {
> + regulator-name = "UNUSED_LDO17";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo18_reg: LDO18 {
> + regulator-name = "UNUSED_LDO18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo19_reg: LDO19 {
> + regulator-name = "TSP_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo20_reg: LDO20 {
> + regulator-name = "LCD_VDD_1.8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo21_reg: LDO21 {
> + regulator-name = "UNUSED_LDO21";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo22_reg: LDO22 {
> + regulator-name = "UNUSED_LDO22";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + };
> +
> + ldo23_reg: LDO23 {
> + regulator-name = "UNUSED_LDO23";
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + ldo24_reg: LDO24 {
> + regulator-name = "UNUSED_LDO24";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + ldo25_reg: LDO25 {
> + regulator-name = "UNUSED_LDO25";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + buck1_reg: BUCK1 {
> + regulator-name = "VAP_MIF_1.0V";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <900000>;
> + regulator-always-on;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "VAP_ARM_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1150000>;
> + regulator-always-on;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "VAP_INT3D_1.0V";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1000000>;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "VCC_SUB_1.95V";
> + regulator-min-microvolt = <1950000>;
> + regulator-max-microvolt = <1950000>;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "VCC_SUB_1.35V";
> + regulator-min-microvolt = <1350000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&i2c_1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + samsung,i2c-sda-delay = <100>;
> + samsung,i2c-slave-addr = <0x10>;
> + samsung,i2c-max-bus-freq = <400000>;
> + status = "okay";
> +
> + fuelgauge at 36 {
> + compatible = "maxim,max77836-battery";
> + interrupt-parent = <&gpx1>;
> + interrupts = <2 8>;
> + reg = <0x36>;
> + };
> +};
> +
> +&i2s2 {
> + status = "okay";
> +};
> +
> +&mshc_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + num-slots = <1>;
> + broken-cd;
> + non-removable;
> + cap-mmc-highspeed;
> + desc-num = <4>;
> + mmc-hs200-1_8v;
> + card-detect-delay = <200>;
> + vmmc-supply = <&vemmc_reg>;
> + clock-frequency = <100000000>;
> + clock-freq-min-max = <400000 100000000>;
> + samsung,dw-mshc-ciu-div = <1>;
> + samsung,dw-mshc-sdr-timing = <0 1>;
> + samsung,dw-mshc-ddr-timing = <1 2>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> + bus-width = <8>;
> + status = "okay";
> +};
> +
> +&serial_0 {
> + assigned-clocks = <&cmu CLK_SCLK_UART0>;
> + assigned-clock-rates = <100000000>;
> + status = "okay";
> +};
> +
> +&serial_1 {
> + status = "okay";
> +};
> +
> +&tmu {
> + vtmu-supply = <&ldo7_reg>;
> + status = "okay";
> +};
> +
> +&rtc {
> + clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>;
> + clock-names = "rtc", "rtc_src";
> + status = "okay";
> +};
> +
> +&xusbxti {
> + clock-frequency = <24000000>;
> +};
> +
> +&pinctrl_0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep0>;
> +
> + sleep0: sleep-state {
> + PIN_SLP(gpa0-0, INPUT, DOWN);
> + PIN_SLP(gpa0-1, INPUT, DOWN);
> + PIN_SLP(gpa0-2, INPUT, DOWN);
> + PIN_SLP(gpa0-3, INPUT, DOWN);
> + PIN_SLP(gpa0-4, INPUT, DOWN);
> + PIN_SLP(gpa0-5, INPUT, DOWN);
> + PIN_SLP(gpa0-6, INPUT, DOWN);
> + PIN_SLP(gpa0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpa1-0, INPUT, DOWN);
> + PIN_SLP(gpa1-1, INPUT, DOWN);
> + PIN_SLP(gpa1-2, INPUT, DOWN);
> + PIN_SLP(gpa1-3, INPUT, DOWN);
> + PIN_SLP(gpa1-4, INPUT, DOWN);
> + PIN_SLP(gpa1-5, INPUT, DOWN);
> +
> + PIN_SLP(gpb-0, PREV, NONE);
> + PIN_SLP(gpb-1, PREV, NONE);
> + PIN_SLP(gpb-2, PREV, NONE);
> + PIN_SLP(gpb-3, PREV, NONE);
> + PIN_SLP(gpb-4, INPUT, DOWN);
> + PIN_SLP(gpb-5, INPUT, DOWN);
> + PIN_SLP(gpb-6, INPUT, DOWN);
> + PIN_SLP(gpb-7, INPUT, DOWN);
> +
> + PIN_SLP(gpc0-0, INPUT, DOWN);
> + PIN_SLP(gpc0-1, INPUT, DOWN);
> + PIN_SLP(gpc0-2, INPUT, DOWN);
> + PIN_SLP(gpc0-3, INPUT, DOWN);
> + PIN_SLP(gpc0-4, INPUT, DOWN);
> +
> + PIN_SLP(gpc1-0, INPUT, DOWN);
> + PIN_SLP(gpc1-1, INPUT, DOWN);
> + PIN_SLP(gpc1-2, INPUT, DOWN);
> + PIN_SLP(gpc1-3, INPUT, DOWN);
> + PIN_SLP(gpc1-4, INPUT, DOWN);
> +
> + PIN_SLP(gpd0-0, INPUT, DOWN);
> + PIN_SLP(gpd0-1, INPUT, DOWN);
> + PIN_SLP(gpd0-2, INPUT, NONE);
> + PIN_SLP(gpd0-3, INPUT, NONE);
> +
> + PIN_SLP(gpd1-0, INPUT, NONE);
> + PIN_SLP(gpd1-1, INPUT, NONE);
> + PIN_SLP(gpd1-2, INPUT, NONE);
> + PIN_SLP(gpd1-3, INPUT, NONE);
> + };
> +};
> +
> +&pinctrl_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&sleep1>;
> +
> + sleep1: sleep-state {
> + PIN_SLP(gpe0-0, PREV, NONE);
> + PIN_SLP(gpe0-1, PREV, NONE);
> + PIN_SLP(gpe0-2, INPUT, DOWN);
> + PIN_SLP(gpe0-3, INPUT, DOWN);
> + PIN_SLP(gpe0-4, PREV, NONE);
> + PIN_SLP(gpe0-5, INPUT, DOWN);
> + PIN_SLP(gpe0-6, INPUT, DOWN);
> + PIN_SLP(gpe0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpe1-0, INPUT, DOWN);
> + PIN_SLP(gpe1-1, PREV, NONE);
> + PIN_SLP(gpe1-2, INPUT, DOWN);
> + PIN_SLP(gpe1-3, INPUT, DOWN);
> + PIN_SLP(gpe1-4, INPUT, DOWN);
> + PIN_SLP(gpe1-5, INPUT, DOWN);
> + PIN_SLP(gpe1-6, INPUT, DOWN);
> + PIN_SLP(gpe1-7, INPUT, NONE);
> +
> + PIN_SLP(gpe2-0, INPUT, NONE);
> + PIN_SLP(gpe2-1, INPUT, NONE);
> + PIN_SLP(gpe2-2, INPUT, NONE);
> +
> + PIN_SLP(gpk0-0, INPUT, DOWN);
> + PIN_SLP(gpk0-1, INPUT, DOWN);
> + PIN_SLP(gpk0-2, OUT0, NONE);
> + PIN_SLP(gpk0-3, INPUT, DOWN);
> + PIN_SLP(gpk0-4, INPUT, DOWN);
> + PIN_SLP(gpk0-5, INPUT, DOWN);
> + PIN_SLP(gpk0-6, INPUT, DOWN);
> + PIN_SLP(gpk0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpk1-0, PREV, NONE);
> + PIN_SLP(gpk1-1, PREV, NONE);
> + PIN_SLP(gpk1-2, INPUT, DOWN);
> + PIN_SLP(gpk1-3, PREV, NONE);
> + PIN_SLP(gpk1-4, PREV, NONE);
> + PIN_SLP(gpk1-5, PREV, NONE);
> + PIN_SLP(gpk1-6, PREV, NONE);
> +
> + PIN_SLP(gpk2-0, INPUT, DOWN);
> + PIN_SLP(gpk2-1, INPUT, DOWN);
> + PIN_SLP(gpk2-2, INPUT, DOWN);
> + PIN_SLP(gpk2-3, INPUT, DOWN);
> + PIN_SLP(gpk2-4, INPUT, DOWN);
> + PIN_SLP(gpk2-5, INPUT, DOWN);
> + PIN_SLP(gpk2-6, INPUT, DOWN);
> +
> + PIN_SLP(gpl0-0, INPUT, DOWN);
> + PIN_SLP(gpl0-1, INPUT, DOWN);
> + PIN_SLP(gpl0-2, INPUT, DOWN);
> + PIN_SLP(gpl0-3, INPUT, DOWN);
> +
> + PIN_SLP(gpm0-0, INPUT, DOWN);
> + PIN_SLP(gpm0-1, INPUT, DOWN);
> + PIN_SLP(gpm0-2, INPUT, DOWN);
> + PIN_SLP(gpm0-3, INPUT, DOWN);
> + PIN_SLP(gpm0-4, INPUT, DOWN);
> + PIN_SLP(gpm0-5, INPUT, DOWN);
> + PIN_SLP(gpm0-6, INPUT, DOWN);
> + PIN_SLP(gpm0-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm1-0, INPUT, DOWN);
> + PIN_SLP(gpm1-1, INPUT, DOWN);
> + PIN_SLP(gpm1-2, INPUT, DOWN);
> + PIN_SLP(gpm1-3, INPUT, DOWN);
> + PIN_SLP(gpm1-4, INPUT, DOWN);
> + PIN_SLP(gpm1-5, INPUT, DOWN);
> + PIN_SLP(gpm1-6, INPUT, DOWN);
> +
> + PIN_SLP(gpm2-0, INPUT, DOWN);
> + PIN_SLP(gpm2-1, INPUT, DOWN);
> + PIN_SLP(gpm2-2, INPUT, DOWN);
> + PIN_SLP(gpm2-3, INPUT, DOWN);
> + PIN_SLP(gpm2-4, INPUT, DOWN);
> +
> + PIN_SLP(gpm3-0, INPUT, DOWN);
> + PIN_SLP(gpm3-1, INPUT, DOWN);
> + PIN_SLP(gpm3-2, INPUT, DOWN);
> + PIN_SLP(gpm3-3, INPUT, DOWN);
> + PIN_SLP(gpm3-4, INPUT, DOWN);
> + PIN_SLP(gpm3-5, INPUT, DOWN);
> + PIN_SLP(gpm3-6, INPUT, DOWN);
> + PIN_SLP(gpm3-7, INPUT, DOWN);
> +
> + PIN_SLP(gpm4-0, INPUT, DOWN);
> + PIN_SLP(gpm4-1, INPUT, DOWN);
> + PIN_SLP(gpm4-2, INPUT, DOWN);
> + PIN_SLP(gpm4-3, INPUT, DOWN);
> + PIN_SLP(gpm4-4, INPUT, DOWN);
> + PIN_SLP(gpm4-5, INPUT, DOWN);
> + PIN_SLP(gpm4-6, INPUT, DOWN);
> + PIN_SLP(gpm4-7, INPUT, DOWN);
> + };
> +};
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-11-18 6:36 ` Chanwoo Choi
@ 2014-11-19 7:47 ` Kukjin Kim
-1 siblings, 0 replies; 14+ messages in thread
From: Kukjin Kim @ 2014-11-19 7:47 UTC (permalink / raw)
To: Chanwoo Choi
Cc: YoungJun Cho, mark.rutland, jh80.chung, geunsik.lim, kgene.kim,
arnd, sw0312.kim, tomasz.figa, inki.dae, kyungmin.park,
linux-samsung-soc, olof, linux-arm-kernel
On 11/18/14 15:36, Chanwoo Choi wrote:
> Dear Kukjin,
>
Hi,
> Could you please review or pick this patchset?
>
> Best Regards,
> Chanwoo Choi
>
> On 10/08/2014 11:11 AM, YoungJun Cho wrote:
>> From: Youngjun Cho <yj44.cho@samsung.com>
>>
>> This patch adds new board dts file to support Samsung Monk board which is
>> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>>
>> This patch is based on linux-samsung.git for-next branch and depends on
>> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>>
>> Changes from v1:
>> - The 'memory' entries coalesce into one entry
>> - Removes useless space
>> - Puts voltage-regulator-0 under the root node
>>
>> This dts file support following features:
>> - eMMC
>> - Main PMIC (Samsung S2MPS14)
>> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
>> - RTC of Exynos3250
>> - ADC of Exynos3250 with NTC thermistor
>> - I2S of Exynos3250
>> - TMU of Exynos3250
>> - Secure firmware for Exynos3250 secondary cpu boot
>> - Serial ports of Exynos3250
>> - gpio-key for power key
>>
>> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
>> 2 files changed, 585 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 5728918..0c8ae64 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
>> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
>> da850-evm.dtb
>> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
>> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
>> + exynos3250-rinato.dtb \
>> exynos4210-origen.dtb \
>> exynos4210-smdkv310.dtb \
>> exynos4210-trats.dtb \
>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>> new file mode 100644
>> index 0000000..615672f
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>> @@ -0,0 +1,583 @@
>> +/*
>> + * Samsung's Exynos3250 based Monk board device tree source
>> + *
>> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * Device tree source file for Samsung's Monk board which is based on
>> + * Samsung Exynos3250 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 "exynos3250.dtsi"
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> + model = "Samsung Monk board";
>> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
>> +
>> + aliases {
>> + i2c7 = &i2c_max77836;
>> + };
>> +
>> + memory {
>> + reg = <0x40000000 0x1ff00000>;
>> + };
>> +
>> + chosen {
>> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
Actually, the bootargs can be supplied from bootloader and can be
removed from here and it's a recent requirement from mailinglist. But
I've already applied similar one in rinato.dts. So please cleanup them
together later...? :)
[snip]
Will apply, thanks.
- Kukjin
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-11-19 7:47 ` Kukjin Kim
0 siblings, 0 replies; 14+ messages in thread
From: Kukjin Kim @ 2014-11-19 7:47 UTC (permalink / raw)
To: linux-arm-kernel
On 11/18/14 15:36, Chanwoo Choi wrote:
> Dear Kukjin,
>
Hi,
> Could you please review or pick this patchset?
>
> Best Regards,
> Chanwoo Choi
>
> On 10/08/2014 11:11 AM, YoungJun Cho wrote:
>> From: Youngjun Cho <yj44.cho@samsung.com>
>>
>> This patch adds new board dts file to support Samsung Monk board which is
>> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>>
>> This patch is based on linux-samsung.git for-next branch and depends on
>> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>>
>> Changes from v1:
>> - The 'memory' entries coalesce into one entry
>> - Removes useless space
>> - Puts voltage-regulator-0 under the root node
>>
>> This dts file support following features:
>> - eMMC
>> - Main PMIC (Samsung S2MPS14)
>> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
>> - RTC of Exynos3250
>> - ADC of Exynos3250 with NTC thermistor
>> - I2S of Exynos3250
>> - TMU of Exynos3250
>> - Secure firmware for Exynos3250 secondary cpu boot
>> - Serial ports of Exynos3250
>> - gpio-key for power key
>>
>> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> ---
>> arch/arm/boot/dts/Makefile | 3 +-
>> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
>> 2 files changed, 585 insertions(+), 1 deletion(-)
>> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 5728918..0c8ae64 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
>> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
>> da850-evm.dtb
>> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
>> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
>> + exynos3250-rinato.dtb \
>> exynos4210-origen.dtb \
>> exynos4210-smdkv310.dtb \
>> exynos4210-trats.dtb \
>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>> new file mode 100644
>> index 0000000..615672f
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>> @@ -0,0 +1,583 @@
>> +/*
>> + * Samsung's Exynos3250 based Monk board device tree source
>> + *
>> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
>> + * http://www.samsung.com
>> + *
>> + * Device tree source file for Samsung's Monk board which is based on
>> + * Samsung Exynos3250 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 "exynos3250.dtsi"
>> +#include <dt-bindings/input/input.h>
>> +
>> +/ {
>> + model = "Samsung Monk board";
>> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
>> +
>> + aliases {
>> + i2c7 = &i2c_max77836;
>> + };
>> +
>> + memory {
>> + reg = <0x40000000 0x1ff00000>;
>> + };
>> +
>> + chosen {
>> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
Actually, the bootargs can be supplied from bootloader and can be
removed from here and it's a recent requirement from mailinglist. But
I've already applied similar one in rinato.dts. So please cleanup them
together later...? :)
[snip]
Will apply, thanks.
- Kukjin
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
2014-11-19 7:47 ` Kukjin Kim
@ 2014-11-19 8:16 ` Kukjin Kim
-1 siblings, 0 replies; 14+ messages in thread
From: Kukjin Kim @ 2014-11-19 8:16 UTC (permalink / raw)
To: Kukjin Kim
Cc: Chanwoo Choi, YoungJun Cho, mark.rutland, jh80.chung,
geunsik.lim, arnd, sw0312.kim, tomasz.figa, inki.dae,
kyungmin.park, linux-samsung-soc, olof, linux-arm-kernel
On 11/19/14 16:47, Kukjin Kim wrote:
> On 11/18/14 15:36, Chanwoo Choi wrote:
>> Dear Kukjin,
>>
> Hi,
>
>> Could you please review or pick this patchset?
>>
>> Best Regards,
>> Chanwoo Choi
>>
>> On 10/08/2014 11:11 AM, YoungJun Cho wrote:
>>> From: Youngjun Cho <yj44.cho@samsung.com>
>>>
>>> This patch adds new board dts file to support Samsung Monk board which is
>>> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>>>
>>> This patch is based on linux-samsung.git for-next branch and depends on
>>> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>>>
>>> Changes from v1:
>>> - The 'memory' entries coalesce into one entry
>>> - Removes useless space
>>> - Puts voltage-regulator-0 under the root node
>>>
>>> This dts file support following features:
>>> - eMMC
>>> - Main PMIC (Samsung S2MPS14)
>>> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
>>> - RTC of Exynos3250
>>> - ADC of Exynos3250 with NTC thermistor
>>> - I2S of Exynos3250
>>> - TMU of Exynos3250
>>> - Secure firmware for Exynos3250 secondary cpu boot
>>> - Serial ports of Exynos3250
>>> - gpio-key for power key
>>>
>>> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>> ---
>>> arch/arm/boot/dts/Makefile | 3 +-
>>> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
>>> 2 files changed, 585 insertions(+), 1 deletion(-)
>>> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>>>
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index 5728918..0c8ae64 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
>>> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
>>> da850-evm.dtb
>>> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
>>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
>>> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
>>> + exynos3250-rinato.dtb \
>>> exynos4210-origen.dtb \
>>> exynos4210-smdkv310.dtb \
>>> exynos4210-trats.dtb \
>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>> new file mode 100644
>>> index 0000000..615672f
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>> @@ -0,0 +1,583 @@
>>> +/*
>>> + * Samsung's Exynos3250 based Monk board device tree source
>>> + *
>>> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
>>> + * http://www.samsung.com
>>> + *
>>> + * Device tree source file for Samsung's Monk board which is based on
>>> + * Samsung Exynos3250 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 "exynos3250.dtsi"
>>> +#include <dt-bindings/input/input.h>
>>> +
>>> +/ {
>>> + model = "Samsung Monk board";
>>> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
>>> +
>>> + aliases {
>>> + i2c7 = &i2c_max77836;
>>> + };
>>> +
>>> + memory {
>>> + reg = <0x40000000 0x1ff00000>;
>>> + };
>>> +
>>> + chosen {
>>> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
>
> Actually, the bootargs can be supplied from bootloader and can be
> removed from here and it's a recent requirement from mailinglist. But
> I've already applied similar one in rinato.dts. So please cleanup them
> together later...? :)
>
> [snip]
>
> Will apply, thanks.
>
> - Kukjin
I think, you need adding board file description in the Doc?
WARNING: DT compatible string "samsung,monk" appears un-documented --
check ./Documentation/devicetree/bindings/
#79: FILE: arch/arm/boot/dts/exynos3250-monk.dts:21:
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2] ARM: dts: add board dts file for Exynos3250-based Monk board
@ 2014-11-19 8:16 ` Kukjin Kim
0 siblings, 0 replies; 14+ messages in thread
From: Kukjin Kim @ 2014-11-19 8:16 UTC (permalink / raw)
To: linux-arm-kernel
On 11/19/14 16:47, Kukjin Kim wrote:
> On 11/18/14 15:36, Chanwoo Choi wrote:
>> Dear Kukjin,
>>
> Hi,
>
>> Could you please review or pick this patchset?
>>
>> Best Regards,
>> Chanwoo Choi
>>
>> On 10/08/2014 11:11 AM, YoungJun Cho wrote:
>>> From: Youngjun Cho <yj44.cho@samsung.com>
>>>
>>> This patch adds new board dts file to support Samsung Monk board which is
>>> based on Exynos3250 SoC and has different H/W configuration from Rinato.
>>>
>>> This patch is based on linux-samsung.git for-next branch and depends on
>>> [PATCHv2 0/2] ARM: dts: Add new board dts file for Exynos3250-based Rinato board
>>>
>>> Changes from v1:
>>> - The 'memory' entries coalesce into one entry
>>> - Removes useless space
>>> - Puts voltage-regulator-0 under the root node
>>>
>>> This dts file support following features:
>>> - eMMC
>>> - Main PMIC (Samsung S2MPS14)
>>> - Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
>>> - RTC of Exynos3250
>>> - ADC of Exynos3250 with NTC thermistor
>>> - I2S of Exynos3250
>>> - TMU of Exynos3250
>>> - Secure firmware for Exynos3250 secondary cpu boot
>>> - Serial ports of Exynos3250
>>> - gpio-key for power key
>>>
>>> Signed-off-by: Youngjun Cho <yj44.cho@samsung.com>
>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>>> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>> ---
>>> arch/arm/boot/dts/Makefile | 3 +-
>>> arch/arm/boot/dts/exynos3250-monk.dts | 583 ++++++++++++++++++++++++++++++++++
>>> 2 files changed, 585 insertions(+), 1 deletion(-)
>>> create mode 100644 arch/arm/boot/dts/exynos3250-monk.dts
>>>
>>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>>> index 5728918..0c8ae64 100644
>>> --- a/arch/arm/boot/dts/Makefile
>>> +++ b/arch/arm/boot/dts/Makefile
>>> @@ -64,7 +64,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \
>>> dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
>>> da850-evm.dtb
>>> dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
>>> -dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \
>>> +dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
>>> + exynos3250-rinato.dtb \
>>> exynos4210-origen.dtb \
>>> exynos4210-smdkv310.dtb \
>>> exynos4210-trats.dtb \
>>> diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts
>>> new file mode 100644
>>> index 0000000..615672f
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/exynos3250-monk.dts
>>> @@ -0,0 +1,583 @@
>>> +/*
>>> + * Samsung's Exynos3250 based Monk board device tree source
>>> + *
>>> + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
>>> + * http://www.samsung.com
>>> + *
>>> + * Device tree source file for Samsung's Monk board which is based on
>>> + * Samsung Exynos3250 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 "exynos3250.dtsi"
>>> +#include <dt-bindings/input/input.h>
>>> +
>>> +/ {
>>> + model = "Samsung Monk board";
>>> + compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
>>> +
>>> + aliases {
>>> + i2c7 = &i2c_max77836;
>>> + };
>>> +
>>> + memory {
>>> + reg = <0x40000000 0x1ff00000>;
>>> + };
>>> +
>>> + chosen {
>>> + bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5";
>
> Actually, the bootargs can be supplied from bootloader and can be
> removed from here and it's a recent requirement from mailinglist. But
> I've already applied similar one in rinato.dts. So please cleanup them
> together later...? :)
>
> [snip]
>
> Will apply, thanks.
>
> - Kukjin
I think, you need adding board file description in the Doc?
WARNING: DT compatible string "samsung,monk" appears un-documented --
check ./Documentation/devicetree/bindings/
#79: FILE: arch/arm/boot/dts/exynos3250-monk.dts:21:
+ compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3";
Thanks,
Kukjin
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2014-11-19 8:16 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-02 0:50 [PATCH] ARM: dts: add board dts file for Exynos3250-based Monk board YoungJun Cho
2014-10-02 0:50 ` YoungJun Cho
2014-10-02 6:57 ` Kyungmin Park
2014-10-02 6:57 ` Kyungmin Park
2014-10-02 11:22 ` Mark Rutland
2014-10-02 11:22 ` Mark Rutland
2014-10-08 2:11 ` [PATCH v2] " YoungJun Cho
2014-10-08 2:11 ` YoungJun Cho
2014-11-18 6:36 ` Chanwoo Choi
2014-11-18 6:36 ` Chanwoo Choi
2014-11-19 7:47 ` Kukjin Kim
2014-11-19 7:47 ` Kukjin Kim
2014-11-19 8:16 ` Kukjin Kim
2014-11-19 8:16 ` Kukjin Kim
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.