Message ID | 1483675149-32598-3-git-send-email-jcsing.lee@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Fri, Jan 06, 2017 at 12:59:06PM +0900, Jaechul Lee wrote: > From: Andi Shyti <andi.shyti@samsung.com> > > Currently tm2e dts includes tm2 but there are some differences > between the two boards and tm2 has some properties that tm2e > doesn't have. > > That's why it's important to keep the two dts files independent > and put all the commonalities in a tm2-common.dtsi file. > > At the current status the only two differences between the two > dts files (besides the board name) are ldo31 and ldo38. > > Signed-off-by: Andi Shyti <andi.shyti@samsung.com> > Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com> > --- > .../boot/dts/exynos/exynos5433-tm2-common.dtsi | 1118 +++++++++++++++++++ > arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- Like talking to a wall. Without any feedback. If my instructions were wrong (and it is not possible to detect rename) then please say it (you can add personal comments after separator ---). As of now because it is third time without any explanation: NACK. Best regards, Krzysztof > arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 22 +- > 3 files changed, 1163 insertions(+), 1130 deletions(-) > create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi > rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%) > > diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi > new file mode 100644 > index 0000000..c43f9a3 > --- /dev/null > +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi > @@ -0,0 +1,1118 @@ > +/* > + * SAMSUNG Exynos5433 TM2 board device tree source > + * > + * Copyright (c) 2016 Samsung Electronics Co., Ltd. > + * > + * Common device tree source file for Samsung's TM2 and TM2E boards > + * which are based on Samsung Exynos5433 SoC. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +/dts-v1/; > +#include "exynos5433.dtsi" > +#include <dt-bindings/clock/samsung,s2mps11.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +/ { > + model = "Samsung TM2 board"; > + compatible = "samsung,tm2", "samsung,exynos5433"; > + > + aliases { > + gsc0 = &gsc_0; > + gsc1 = &gsc_1; > + gsc2 = &gsc_2; > + pinctrl0 = &pinctrl_alive; > + pinctrl1 = &pinctrl_aud; > + pinctrl2 = &pinctrl_cpif; > + pinctrl3 = &pinctrl_ese; > + pinctrl4 = &pinctrl_finger; > + pinctrl5 = &pinctrl_fsys; > + pinctrl6 = &pinctrl_imem; > + pinctrl7 = &pinctrl_nfc; > + pinctrl8 = &pinctrl_peric; > + pinctrl9 = &pinctrl_touch; > + serial0 = &serial_0; > + serial1 = &serial_1; > + serial2 = &serial_2; > + serial3 = &serial_3; > + spi0 = &spi_0; > + spi1 = &spi_1; > + spi2 = &spi_2; > + spi3 = &spi_3; > + spi4 = &spi_4; > + mshc0 = &mshc_0; > + mshc2 = &mshc_2; > + }; > + > + chosen { > + stdout-path = &serial_1; > + }; > + > + memory@20000000 { > + device_type = "memory"; > + reg = <0x0 0x20000000 0x0 0xc0000000>; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + > + power-key { > + gpios = <&gpa2 7 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_POWER>; > + label = "power key"; > + debounce-interval = <10>; > + }; > + > + volume-up-key { > + gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEUP>; > + label = "volume-up key"; > + debounce-interval = <10>; > + }; > + > + volume-down-key { > + gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEDOWN>; > + label = "volume-down key"; > + debounce-interval = <10>; > + }; > + > + homepage-key { > + gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_MENU>; > + label = "homepage key"; > + debounce-interval = <10>; > + }; > + }; > + > + i2c_max98504: i2c-gpio-0 { > + compatible = "i2c-gpio"; > + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */ > + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >; > + i2c-gpio,delay-us = <2>; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + max98504: max98504@31 { > + compatible = "maxim,max98504"; > + reg = <0x31>; > + maxim,rx-path = <1>; > + maxim,tx-path = <1>; > + maxim,tx-channel-mask = <3>; > + maxim,tx-channel-source = <2>; > + }; > + }; > + > + sound { > + compatible = "samsung,tm2-audio"; > + audio-codec = <&wm5110>; > + i2s-controller = <&i2s0>; > + audio-amplifier = <&max98504>; > + mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>; > + model = "wm5110"; > + samsung,audio-routing = > + /* Headphone */ > + "HP", "HPOUT1L", > + "HP", "HPOUT1R", > + > + /* Speaker */ > + "SPK", "SPKOUT", > + "SPKOUT", "HPOUT2L", > + "SPKOUT", "HPOUT2R", > + > + /* Receiver */ > + "RCV", "HPOUT3L", > + "RCV", "HPOUT3R"; > + status = "okay"; > + }; > +}; > + > +&adc { > + vdd-supply = <&ldo3_reg>; > + status = "okay"; > + > + thermistor-ap { > + compatible = "murata,ncp03wf104"; > + pullup-uv = <1800000>; > + pullup-ohm = <100000>; > + pulldown-ohm = <0>; > + io-channels = <&adc 0>; > + }; > + > + thermistor-battery { > + compatible = "murata,ncp03wf104"; > + pullup-uv = <1800000>; > + pullup-ohm = <100000>; > + pulldown-ohm = <0>; > + io-channels = <&adc 1>; > + #thermal-sensor-cells = <0>; > + }; > + > + thermistor-charger { > + compatible = "murata,ncp03wf104"; > + pullup-uv = <1800000>; > + pullup-ohm = <100000>; > + pulldown-ohm = <0>; > + io-channels = <&adc 2>; > + }; > +}; > + > +&bus_g2d_400 { > + devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>; > + vdd-supply = <&buck4_reg>; > + exynos,saturation-ratio = <10>; > + status = "okay"; > +}; > + > +&bus_g2d_266 { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_gscl { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_hevc { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_jpeg { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_mfc { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_mscl { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_noc0 { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_noc1 { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&bus_noc2 { > + devfreq = <&bus_g2d_400>; > + status = "okay"; > +}; > + > +&cmu_aud { > + assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>; > + assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>; > +}; > + > +&cmu_fsys { > + assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>, > + <&cmu_top CLK_MOUT_SCLK_USBHOST30>, > + <&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>, > + <&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>, > + <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>, > + <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>, > + <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>, > + <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>, > + <&cmu_top CLK_DIV_SCLK_USBDRD30>, > + <&cmu_top CLK_DIV_SCLK_USBHOST30>; > + assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>, > + <&cmu_top CLK_MOUT_BUS_PLL_USER>, > + <&cmu_top CLK_SCLK_USBDRD30_FSYS>, > + <&cmu_top CLK_SCLK_USBHOST30_FSYS>, > + <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>, > + <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>, > + <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>, > + <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>; > + assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, > + <66700000>, <66700000>; > +}; > + > +&cmu_gscl { > + assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>, > + <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>; > + assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>, > + <&cmu_top CLK_ACLK_GSCL_333>; > +}; > + > +&cmu_mfc { > + assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>; > + assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>; > +}; > + > +&cmu_mscl { > + assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>, > + <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, > + <&cmu_mscl CLK_MOUT_SCLK_JPEG>, > + <&cmu_top CLK_MOUT_SCLK_JPEG_A>; > + assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>, > + <&cmu_top CLK_SCLK_JPEG_MSCL>, > + <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, > + <&cmu_top CLK_MOUT_BUS_PLL_USER>; > +}; > + > +&cpu0 { > + cpu-supply = <&buck3_reg>; > +}; > + > +&cpu4 { > + cpu-supply = <&buck2_reg>; > +}; > + > +&decon { > + status = "okay"; > + > + i80-if-timings { > + }; > +}; > + > +&dsi { > + status = "okay"; > + vddcore-supply = <&ldo6_reg>; > + vddio-supply = <&ldo7_reg>; > + samsung,pll-clock-frequency = <24000000>; > + pinctrl-names = "default"; > + pinctrl-0 = <&te_irq>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + reg = <1>; > + > + dsi_out: endpoint { > + samsung,burst-clock-frequency = <512000000>; > + samsung,esc-clock-frequency = <16000000>; > + }; > + }; > + }; > +}; > + > +&hsi2c_0 { > + status = "okay"; > + clock-frequency = <2500000>; > + > + s2mps13-pmic@66 { > + compatible = "samsung,s2mps13-pmic"; > + interrupt-parent = <&gpa0>; > + interrupts = <7 IRQ_TYPE_NONE>; > + reg = <0x66>; > + samsung,s2mps11-wrstbi-ground; > + > + s2mps13_osc: clocks { > + compatible = "samsung,s2mps13-clk"; > + #clock-cells = <1>; > + clock-output-names = "s2mps13_ap", "s2mps13_cp", > + "s2mps13_bt"; > + }; > + > + regulators: regulators { > + ldo1_reg: LDO1 { > + regulator-name = "VDD_ALIVE_0.9V_AP"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <900000>; > + regulator-always-on; > + }; > + > + ldo2_reg: LDO2 { > + regulator-name = "VDDQ_MMC2_2.8V_AP"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo3_reg: LDO3 { > + regulator-name = "VDD1_E_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + ldo4_reg: LDO4 { > + regulator-name = "VDD10_MIF_PLL_1.0V_AP"; > + regulator-min-microvolt = <1300000>; > + regulator-max-microvolt = <1300000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo5_reg: LDO5 { > + regulator-name = "VDD10_DPLL_1.0V_AP"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo6_reg: LDO6 { > + regulator-name = "VDD10_MIPI2L_1.0V_AP"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo7_reg: LDO7 { > + regulator-name = "VDD18_MIPI2L_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo8_reg: LDO8 { > + regulator-name = "VDD18_LLI_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo9_reg: LDO9 { > + regulator-name = "VDD18_ABB_ETC_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo10_reg: LDO10 { > + regulator-name = "VDD33_USB30_3.0V_AP"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo11_reg: LDO11 { > + regulator-name = "VDD_INT_M_1.0V_AP"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo12_reg: LDO12 { > + regulator-name = "VDD_KFC_M_1.1V_AP"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1350000>; > + regulator-always-on; > + }; > + > + ldo13_reg: LDO13 { > + regulator-name = "VDD_G3D_M_0.95V_AP"; > + regulator-min-microvolt = <950000>; > + regulator-max-microvolt = <950000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo14_reg: LDO14 { > + regulator-name = "VDDQ_M1_LDO_1.2V_AP"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo15_reg: LDO15 { > + regulator-name = "VDDQ_M2_LDO_1.2V_AP"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + ldo16_reg: LDO16 { > + regulator-name = "VDDQ_EFUSE"; > + regulator-min-microvolt = <1400000>; > + regulator-max-microvolt = <3400000>; > + regulator-always-on; > + }; > + > + ldo17_reg: LDO17 { > + regulator-name = "V_TFLASH_2.8V_AP"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + }; > + > + ldo18_reg: LDO18 { > + regulator-name = "V_CODEC_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo19_reg: LDO19 { > + regulator-name = "VDDA_1.8V_COMP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + ldo20_reg: LDO20 { > + regulator-name = "VCC_2.8V_AP"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + regulator-always-on; > + }; > + > + ldo21_reg: LDO21 { > + regulator-name = "VT_CAM_1.8V"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo22_reg: LDO22 { > + regulator-name = "CAM_IO_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo23_reg: LDO23 { > + regulator-name = "CAM_SEN_CORE_1.05V_AP"; > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1050000>; > + }; > + > + ldo24_reg: LDO24 { > + regulator-name = "VT_CAM_1.2V"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + }; > + > + ldo25_reg: LDO25 { > + regulator-name = "UNUSED_LDO25"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + regulator-always-off; > + }; > + > + ldo26_reg: LDO26 { > + regulator-name = "CAM_AF_2.8V_AP"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + }; > + > + ldo27_reg: LDO27 { > + regulator-name = "VCC_3.0V_LCD_AP"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + }; > + > + ldo28_reg: LDO28 { > + regulator-name = "VCC_1.8V_LCD_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo29_reg: LDO29 { > + regulator-name = "VT_CAM_2.8V"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + }; > + > + ldo30_reg: LDO30 { > + regulator-name = "TSP_AVDD_3.3V_AP"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + /* > + * LDO31 differs from target to target, > + * its definition is in the .dts > + */ > + > + ldo32_reg: LDO32 { > + regulator-name = "VTOUCH_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo33_reg: LDO33 { > + regulator-name = "VTOUCH_LED_3.3V"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + regulator-ramp-delay = <12500>; > + }; > + > + ldo34_reg: LDO34 { > + regulator-name = "VCC_1.8V_MHL_AP"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <2100000>; > + }; > + > + ldo35_reg: LDO35 { > + regulator-name = "OIS_VM_2.8V"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2800000>; > + }; > + > + ldo36_reg: LDO36 { > + regulator-name = "VSIL_1.0V"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <1000000>; > + }; > + > + ldo37_reg: LDO37 { > + regulator-name = "VF_1.8V"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + /* > + * LDO38 differs from target to target, > + * its definition is in the .dts > + */ > + > + ldo39_reg: LDO39 { > + regulator-name = "V_HRM_1.8V"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > + > + ldo40_reg: LDO40 { > + regulator-name = "V_HRM_3.3V"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + buck1_reg: BUCK1 { > + regulator-name = "VDD_MIF_0.9V_AP"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck2_reg: BUCK2 { > + regulator-name = "VDD_EGL_1.0V_AP"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1300000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck3_reg: BUCK3 { > + regulator-name = "VDD_KFC_1.0V_AP"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck4_reg: BUCK4 { > + regulator-name = "VDD_INT_0.95V_AP"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck5_reg: BUCK5 { > + regulator-name = "VDD_DISP_CAM0_0.9V_AP"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck6_reg: BUCK6 { > + regulator-name = "VDD_G3D_0.9V_AP"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > + }; > + > + buck7_reg: BUCK7 { > + regulator-name = "VDD_MEM1_1.2V_AP"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-always-on; > + }; > + > + buck8_reg: BUCK8 { > + regulator-name = "VDD_LLDO_1.35V_AP"; > + regulator-min-microvolt = <1350000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + buck9_reg: BUCK9 { > + regulator-name = "VDD_MLDO_2.0V_AP"; > + regulator-min-microvolt = <1350000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + buck10_reg: BUCK10 { > + regulator-name = "vdd_mem2"; > + regulator-min-microvolt = <550000>; > + regulator-max-microvolt = <1500000>; > + regulator-always-on; > + }; > + }; > + }; > +}; > + > +&hsi2c_8 { > + status = "okay"; > + > + max77843@66 { > + compatible = "maxim,max77843"; > + interrupt-parent = <&gpa1>; > + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > + reg = <0x66>; > + > + muic: max77843-muic { > + compatible = "maxim,max77843-muic"; > + }; > + > + regulators { > + compatible = "maxim,max77843-regulator"; > + safeout1_reg: SAFEOUT1 { > + regulator-name = "SAFEOUT1"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <4950000>; > + }; > + > + safeout2_reg: SAFEOUT2 { > + regulator-name = "SAFEOUT2"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <4950000>; > + }; > + > + charger_reg: CHARGER { > + regulator-name = "CHARGER"; > + regulator-min-microamp = <100000>; > + regulator-max-microamp = <3150000>; > + }; > + }; > + > + haptic: max77843-haptic { > + compatible = "maxim,max77843-haptic"; > + haptic-supply = <&ldo38_reg>; > + pwms = <&pwm 0 33670 0>; > + pwm-names = "haptic"; > + }; > + }; > +}; > + > +&i2s0 { > + status = "okay"; > +}; > + > +&mshc_0 { > + status = "okay"; > + num-slots = <1>; > + mmc-hs200-1_8v; > + mmc-hs400-1_8v; > + cap-mmc-highspeed; > + non-removable; > + card-detect-delay = <200>; > + samsung,dw-mshc-ciu-div = <3>; > + samsung,dw-mshc-sdr-timing = <0 4>; > + samsung,dw-mshc-ddr-timing = <0 2>; > + samsung,dw-mshc-hs400-timing = <0 3>; > + samsung,read-strobe-delay = <90>; > + fifo-depth = <0x80>; > + pinctrl-names = "default"; > + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 > + &sd0_bus8 &sd0_rdqs>; > + bus-width = <8>; > + assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>; > + assigned-clock-rates = <800000000>; > +}; > + > +&mshc_2 { > + status = "okay"; > + num-slots = <1>; > + cap-sd-highspeed; > + disable-wp; > + cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>; > + cd-inverted; > + card-detect-delay = <200>; > + samsung,dw-mshc-ciu-div = <3>; > + samsung,dw-mshc-sdr-timing = <0 4>; > + samsung,dw-mshc-ddr-timing = <0 2>; > + fifo-depth = <0x80>; > + pinctrl-names = "default"; > + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>; > + bus-width = <4>; > +}; > + > +&ppmu_d0_general { > + status = "okay"; > + events { > + ppmu_event0_d0_general: ppmu-event0-d0-general { > + event-name = "ppmu-event0-d0-general"; > + }; > + }; > +}; > + > +&ppmu_d1_general { > + status = "okay"; > + events { > + ppmu_event0_d1_general: ppmu-event0-d1-general { > + event-name = "ppmu-event0-d1-general"; > + }; > + }; > +}; > + > +&pinctrl_alive { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_alive>; > + > + initial_alive: initial-state { > + PIN(INPUT, gpa0-0, DOWN, FAST_SR1); > + PIN(INPUT, gpa0-1, NONE, FAST_SR1); > + PIN(INPUT, gpa0-2, DOWN, FAST_SR1); > + PIN(INPUT, gpa0-3, NONE, FAST_SR1); > + PIN(INPUT, gpa0-4, NONE, FAST_SR1); > + PIN(INPUT, gpa0-5, DOWN, FAST_SR1); > + PIN(INPUT, gpa0-6, NONE, FAST_SR1); > + PIN(INPUT, gpa0-7, NONE, FAST_SR1); > + > + PIN(INPUT, gpa1-0, UP, FAST_SR1); > + PIN(INPUT, gpa1-1, NONE, FAST_SR1); > + PIN(INPUT, gpa1-2, NONE, FAST_SR1); > + PIN(INPUT, gpa1-3, DOWN, FAST_SR1); > + PIN(INPUT, gpa1-4, DOWN, FAST_SR1); > + PIN(INPUT, gpa1-5, NONE, FAST_SR1); > + PIN(INPUT, gpa1-6, NONE, FAST_SR1); > + PIN(INPUT, gpa1-7, NONE, FAST_SR1); > + > + PIN(INPUT, gpa2-0, NONE, FAST_SR1); > + PIN(INPUT, gpa2-1, NONE, FAST_SR1); > + PIN(INPUT, gpa2-2, NONE, FAST_SR1); > + PIN(INPUT, gpa2-3, DOWN, FAST_SR1); > + PIN(INPUT, gpa2-4, NONE, FAST_SR1); > + PIN(INPUT, gpa2-5, DOWN, FAST_SR1); > + PIN(INPUT, gpa2-6, DOWN, FAST_SR1); > + PIN(INPUT, gpa2-7, NONE, FAST_SR1); > + > + PIN(INPUT, gpa3-0, DOWN, FAST_SR1); > + PIN(INPUT, gpa3-1, DOWN, FAST_SR1); > + PIN(INPUT, gpa3-2, NONE, FAST_SR1); > + PIN(INPUT, gpa3-3, DOWN, FAST_SR1); > + PIN(INPUT, gpa3-4, NONE, FAST_SR1); > + PIN(INPUT, gpa3-5, DOWN, FAST_SR1); > + PIN(INPUT, gpa3-6, DOWN, FAST_SR1); > + PIN(INPUT, gpa3-7, DOWN, FAST_SR1); > + > + PIN(INPUT, gpf1-0, NONE, FAST_SR1); > + PIN(INPUT, gpf1-1, NONE, FAST_SR1); > + PIN(INPUT, gpf1-2, DOWN, FAST_SR1); > + PIN(INPUT, gpf1-4, UP, FAST_SR1); > + PIN(OUTPUT, gpf1-5, NONE, FAST_SR1); > + PIN(INPUT, gpf1-6, DOWN, FAST_SR1); > + PIN(INPUT, gpf1-7, DOWN, FAST_SR1); > + > + PIN(INPUT, gpf2-0, DOWN, FAST_SR1); > + PIN(INPUT, gpf2-1, DOWN, FAST_SR1); > + PIN(INPUT, gpf2-2, DOWN, FAST_SR1); > + PIN(INPUT, gpf2-3, DOWN, FAST_SR1); > + > + PIN(INPUT, gpf3-0, DOWN, FAST_SR1); > + PIN(INPUT, gpf3-1, DOWN, FAST_SR1); > + PIN(INPUT, gpf3-2, NONE, FAST_SR1); > + PIN(INPUT, gpf3-3, DOWN, FAST_SR1); > + > + PIN(INPUT, gpf4-0, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-1, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-2, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-3, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-4, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-5, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-6, DOWN, FAST_SR1); > + PIN(INPUT, gpf4-7, DOWN, FAST_SR1); > + > + PIN(INPUT, gpf5-0, DOWN, FAST_SR1); > + PIN(INPUT, gpf5-1, DOWN, FAST_SR1); > + PIN(INPUT, gpf5-2, DOWN, FAST_SR1); > + PIN(INPUT, gpf5-3, DOWN, FAST_SR1); > + PIN(OUTPUT, gpf5-4, NONE, FAST_SR1); > + PIN(INPUT, gpf5-5, DOWN, FAST_SR1); > + PIN(INPUT, gpf5-6, DOWN, FAST_SR1); > + PIN(INPUT, gpf5-7, DOWN, FAST_SR1); > + }; > + > + te_irq: te_irq { > + samsung,pins = "gpf1-3"; > + samsung,pin-function = <0xf>; > + }; > +}; > + > +&pinctrl_cpif { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_cpif>; > + > + initial_cpif: initial-state { > + PIN(INPUT, gpv6-0, DOWN, FAST_SR1); > + PIN(INPUT, gpv6-1, DOWN, FAST_SR1); > + }; > +}; > + > +&pinctrl_ese { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_ese>; > + > + initial_ese: initial-state { > + PIN(INPUT, gpj2-0, DOWN, FAST_SR1); > + PIN(INPUT, gpj2-1, DOWN, FAST_SR1); > + PIN(INPUT, gpj2-2, DOWN, FAST_SR1); > + }; > +}; > + > +&pinctrl_fsys { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_fsys>; > + > + initial_fsys: initial-state { > + PIN(INPUT, gpr3-0, NONE, FAST_SR1); > + PIN(INPUT, gpr3-1, DOWN, FAST_SR1); > + PIN(INPUT, gpr3-2, DOWN, FAST_SR1); > + PIN(INPUT, gpr3-3, DOWN, FAST_SR1); > + PIN(INPUT, gpr3-7, NONE, FAST_SR1); > + }; > +}; > + > +&pinctrl_imem { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_imem>; > + > + initial_imem: initial-state { > + PIN(INPUT, gpf0-0, UP, FAST_SR1); > + PIN(INPUT, gpf0-1, UP, FAST_SR1); > + PIN(INPUT, gpf0-2, DOWN, FAST_SR1); > + PIN(INPUT, gpf0-3, UP, FAST_SR1); > + PIN(INPUT, gpf0-4, DOWN, FAST_SR1); > + PIN(INPUT, gpf0-5, NONE, FAST_SR1); > + PIN(INPUT, gpf0-6, DOWN, FAST_SR1); > + PIN(INPUT, gpf0-7, UP, FAST_SR1); > + }; > +}; > + > +&pinctrl_nfc { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_nfc>; > + > + initial_nfc: initial-state { > + PIN(INPUT, gpj0-2, DOWN, FAST_SR1); > + }; > +}; > + > +&pinctrl_peric { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_peric>; > + > + initial_peric: initial-state { > + PIN(INPUT, gpv7-0, DOWN, FAST_SR1); > + PIN(INPUT, gpv7-1, DOWN, FAST_SR1); > + PIN(INPUT, gpv7-2, NONE, FAST_SR1); > + PIN(INPUT, gpv7-3, DOWN, FAST_SR1); > + PIN(INPUT, gpv7-4, DOWN, FAST_SR1); > + PIN(INPUT, gpv7-5, DOWN, FAST_SR1); > + > + PIN(INPUT, gpb0-4, DOWN, FAST_SR1); > + > + PIN(INPUT, gpc0-2, DOWN, FAST_SR1); > + PIN(INPUT, gpc0-5, DOWN, FAST_SR1); > + PIN(INPUT, gpc0-7, DOWN, FAST_SR1); > + > + PIN(INPUT, gpc1-1, DOWN, FAST_SR1); > + > + PIN(INPUT, gpc3-4, NONE, FAST_SR1); > + PIN(INPUT, gpc3-5, NONE, FAST_SR1); > + PIN(INPUT, gpc3-6, NONE, FAST_SR1); > + PIN(INPUT, gpc3-7, NONE, FAST_SR1); > + > + PIN(OUTPUT, gpg0-0, NONE, FAST_SR1); > + PIN(2, gpg0-1, DOWN, FAST_SR1); > + > + PIN(INPUT, gpd2-5, DOWN, FAST_SR1); > + > + PIN(INPUT, gpd4-0, NONE, FAST_SR1); > + PIN(INPUT, gpd4-1, DOWN, FAST_SR1); > + PIN(INPUT, gpd4-2, DOWN, FAST_SR1); > + PIN(INPUT, gpd4-3, DOWN, FAST_SR1); > + PIN(INPUT, gpd4-4, DOWN, FAST_SR1); > + > + PIN(INPUT, gpd6-3, DOWN, FAST_SR1); > + > + PIN(INPUT, gpd8-1, UP, FAST_SR1); > + > + PIN(INPUT, gpg1-0, DOWN, FAST_SR1); > + PIN(INPUT, gpg1-1, DOWN, FAST_SR1); > + PIN(INPUT, gpg1-2, DOWN, FAST_SR1); > + PIN(INPUT, gpg1-3, DOWN, FAST_SR1); > + PIN(INPUT, gpg1-4, DOWN, FAST_SR1); > + > + PIN(INPUT, gpg2-0, DOWN, FAST_SR1); > + PIN(INPUT, gpg2-1, DOWN, FAST_SR1); > + > + PIN(INPUT, gpg3-0, DOWN, FAST_SR1); > + PIN(INPUT, gpg3-1, DOWN, FAST_SR1); > + PIN(INPUT, gpg3-5, DOWN, FAST_SR1); > + PIN(INPUT, gpg3-7, DOWN, FAST_SR1); > + }; > +}; > + > +&pinctrl_touch { > + pinctrl-names = "default"; > + pinctrl-0 = <&initial_touch>; > + > + initial_touch: initial-state { > + PIN(INPUT, gpj1-2, DOWN, FAST_SR1); > + }; > +}; > + > +&pwm { > + pinctrl-0 = <&pwm0_out>; > + pinctrl-names = "default"; > + status = "okay"; > +}; > + > +&mic { > + status = "okay"; > + > + i80-if-timings { > + }; > +}; > + > +&pmu_system_controller { > + assigned-clocks = <&pmu_system_controller 0>; > + assigned-clock-parents = <&xxti>; > +}; > + > +&serial_1 { > + status = "okay"; > +}; > + > +&spi_1 { > + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>; > + status = "okay"; > + > + wm5110: wm5110-codec@0 { > + compatible = "wlf,wm5110"; > + reg = <0x0>; > + spi-max-frequency = <20000000>; > + interrupt-parent = <&gpa0>; > + interrupts = <4 IRQ_TYPE_NONE>; > + clocks = <&pmu_system_controller 0>, > + <&s2mps13_osc S2MPS11_CLK_BT>; > + clock-names = "mclk1", "mclk2"; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + wlf,micd-detect-debounce = <300>; > + wlf,micd-bias-start-time = <0x1>; > + wlf,micd-rate = <0x7>; > + wlf,micd-dbtime = <0x1>; > + wlf,micd-force-micbias; > + wlf,micd-configs = <0x0 1 0>; > + wlf,hpdet-channel = <1>; > + wlf,gpsw = <0x1>; > + wlf,inmode = <2 0 2 0>; > + > + wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>; > + wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>; > + > + /* core supplies */ > + AVDD-supply = <&ldo18_reg>; > + DBVDD1-supply = <&ldo18_reg>; > + CPVDD-supply = <&ldo18_reg>; > + DBVDD2-supply = <&ldo18_reg>; > + DBVDD3-supply = <&ldo18_reg>; > + > + controller-data { > + samsung,spi-feedback-delay = <0>; > + }; > + }; > +}; > + > +&timer { > + clock-frequency = <24000000>; > +}; > + > +&tmu_atlas0 { > + vtmu-supply = <&ldo3_reg>; > + status = "okay"; > +}; > + > +&tmu_apollo { > + vtmu-supply = <&ldo3_reg>; > + status = "okay"; > +}; > + > +&tmu_g3d { > + vtmu-supply = <&ldo3_reg>; > + status = "okay"; > +}; > + > +&usbdrd30 { > + vdd33-supply = <&ldo10_reg>; > + vdd10-supply = <&ldo6_reg>; > + status = "okay"; > +}; > + > +&usbdrd_dwc3_0 { > + dr_mode = "otg"; > +}; > + > +&usbdrd30_phy { > + vbus-supply = <&safeout1_reg>; > + status = "okay"; > +}; > + > +&xxti { > + clock-frequency = <24000000>; > +}; > diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts > dissimilarity index 98% > index e8971f4..d30b45a 100644 > --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts > +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts > @@ -1,1120 +1,33 @@ > -/* > - * SAMSUNG Exynos5433 TM2 board device tree source > - * > - * Copyright (c) 2016 Samsung Electronics Co., Ltd. > - * > - * Device tree source file for Samsung's TM2 board which is based on > - * Samsung Exynos5433 SoC. > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License version 2 as > - * published by the Free Software Foundation. > - */ > - > -/dts-v1/; > -#include "exynos5433.dtsi" > -#include <dt-bindings/clock/samsung,s2mps11.h> > -#include <dt-bindings/gpio/gpio.h> > -#include <dt-bindings/input/input.h> > -#include <dt-bindings/interrupt-controller/irq.h> > - > -/ { > - model = "Samsung TM2 board"; > - compatible = "samsung,tm2", "samsung,exynos5433"; > - > - aliases { > - gsc0 = &gsc_0; > - gsc1 = &gsc_1; > - gsc2 = &gsc_2; > - pinctrl0 = &pinctrl_alive; > - pinctrl1 = &pinctrl_aud; > - pinctrl2 = &pinctrl_cpif; > - pinctrl3 = &pinctrl_ese; > - pinctrl4 = &pinctrl_finger; > - pinctrl5 = &pinctrl_fsys; > - pinctrl6 = &pinctrl_imem; > - pinctrl7 = &pinctrl_nfc; > - pinctrl8 = &pinctrl_peric; > - pinctrl9 = &pinctrl_touch; > - serial0 = &serial_0; > - serial1 = &serial_1; > - serial2 = &serial_2; > - serial3 = &serial_3; > - spi0 = &spi_0; > - spi1 = &spi_1; > - spi2 = &spi_2; > - spi3 = &spi_3; > - spi4 = &spi_4; > - mshc0 = &mshc_0; > - mshc2 = &mshc_2; > - }; > - > - chosen { > - stdout-path = &serial_1; > - }; > - > - memory@20000000 { > - device_type = "memory"; > - reg = <0x0 0x20000000 0x0 0xc0000000>; > - }; > - > - gpio-keys { > - compatible = "gpio-keys"; > - > - power-key { > - gpios = <&gpa2 7 GPIO_ACTIVE_LOW>; > - linux,code = <KEY_POWER>; > - label = "power key"; > - debounce-interval = <10>; > - }; > - > - volume-up-key { > - gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; > - linux,code = <KEY_VOLUMEUP>; > - label = "volume-up key"; > - debounce-interval = <10>; > - }; > - > - volume-down-key { > - gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; > - linux,code = <KEY_VOLUMEDOWN>; > - label = "volume-down key"; > - debounce-interval = <10>; > - }; > - > - homepage-key { > - gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; > - linux,code = <KEY_MENU>; > - label = "homepage key"; > - debounce-interval = <10>; > - }; > - }; > - > - i2c_max98504: i2c-gpio-0 { > - compatible = "i2c-gpio"; > - gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */ > - &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >; > - i2c-gpio,delay-us = <2>; > - #address-cells = <1>; > - #size-cells = <0>; > - status = "okay"; > - > - max98504: max98504@31 { > - compatible = "maxim,max98504"; > - reg = <0x31>; > - maxim,rx-path = <1>; > - maxim,tx-path = <1>; > - maxim,tx-channel-mask = <3>; > - maxim,tx-channel-source = <2>; > - }; > - }; > - > - sound { > - compatible = "samsung,tm2-audio"; > - audio-codec = <&wm5110>; > - i2s-controller = <&i2s0>; > - audio-amplifier = <&max98504>; > - mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>; > - model = "wm5110"; > - samsung,audio-routing = > - /* Headphone */ > - "HP", "HPOUT1L", > - "HP", "HPOUT1R", > - > - /* Speaker */ > - "SPK", "SPKOUT", > - "SPKOUT", "HPOUT2L", > - "SPKOUT", "HPOUT2R", > - > - /* Receiver */ > - "RCV", "HPOUT3L", > - "RCV", "HPOUT3R"; > - status = "okay"; > - }; > -}; > - > -&adc { > - vdd-supply = <&ldo3_reg>; > - status = "okay"; > - > - thermistor-ap { > - compatible = "murata,ncp03wf104"; > - pullup-uv = <1800000>; > - pullup-ohm = <100000>; > - pulldown-ohm = <0>; > - io-channels = <&adc 0>; > - }; > - > - thermistor-battery { > - compatible = "murata,ncp03wf104"; > - pullup-uv = <1800000>; > - pullup-ohm = <100000>; > - pulldown-ohm = <0>; > - io-channels = <&adc 1>; > - #thermal-sensor-cells = <0>; > - }; > - > - thermistor-charger { > - compatible = "murata,ncp03wf104"; > - pullup-uv = <1800000>; > - pullup-ohm = <100000>; > - pulldown-ohm = <0>; > - io-channels = <&adc 2>; > - }; > -}; > - > -&bus_g2d_400 { > - devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>; > - vdd-supply = <&buck4_reg>; > - exynos,saturation-ratio = <10>; > - status = "okay"; > -}; > - > -&bus_g2d_266 { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_gscl { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_hevc { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_jpeg { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_mfc { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_mscl { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_noc0 { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_noc1 { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&bus_noc2 { > - devfreq = <&bus_g2d_400>; > - status = "okay"; > -}; > - > -&cmu_aud { > - assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>; > - assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>; > -}; > - > -&cmu_fsys { > - assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>, > - <&cmu_top CLK_MOUT_SCLK_USBHOST30>, > - <&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>, > - <&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>, > - <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>, > - <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>, > - <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>, > - <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>, > - <&cmu_top CLK_DIV_SCLK_USBDRD30>, > - <&cmu_top CLK_DIV_SCLK_USBHOST30>; > - assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>, > - <&cmu_top CLK_MOUT_BUS_PLL_USER>, > - <&cmu_top CLK_SCLK_USBDRD30_FSYS>, > - <&cmu_top CLK_SCLK_USBHOST30_FSYS>, > - <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>, > - <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>, > - <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>, > - <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>; > - assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, > - <66700000>, <66700000>; > -}; > - > -&cmu_gscl { > - assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>, > - <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>; > - assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>, > - <&cmu_top CLK_ACLK_GSCL_333>; > -}; > - > -&cmu_mfc { > - assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>; > - assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>; > -}; > - > -&cmu_mscl { > - assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>, > - <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, > - <&cmu_mscl CLK_MOUT_SCLK_JPEG>, > - <&cmu_top CLK_MOUT_SCLK_JPEG_A>; > - assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>, > - <&cmu_top CLK_SCLK_JPEG_MSCL>, > - <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, > - <&cmu_top CLK_MOUT_BUS_PLL_USER>; > -}; > - > -&cpu0 { > - cpu-supply = <&buck3_reg>; > -}; > - > -&cpu4 { > - cpu-supply = <&buck2_reg>; > -}; > - > -&decon { > - status = "okay"; > - > - i80-if-timings { > - }; > -}; > - > -&dsi { > - status = "okay"; > - vddcore-supply = <&ldo6_reg>; > - vddio-supply = <&ldo7_reg>; > - samsung,pll-clock-frequency = <24000000>; > - pinctrl-names = "default"; > - pinctrl-0 = <&te_irq>; > - > - ports { > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@1 { > - reg = <1>; > - > - dsi_out: endpoint { > - samsung,burst-clock-frequency = <512000000>; > - samsung,esc-clock-frequency = <16000000>; > - }; > - }; > - }; > -}; > - > -&hsi2c_0 { > - status = "okay"; > - clock-frequency = <2500000>; > - > - s2mps13-pmic@66 { > - compatible = "samsung,s2mps13-pmic"; > - interrupt-parent = <&gpa0>; > - interrupts = <7 IRQ_TYPE_NONE>; > - reg = <0x66>; > - samsung,s2mps11-wrstbi-ground; > - > - s2mps13_osc: clocks { > - compatible = "samsung,s2mps13-clk"; > - #clock-cells = <1>; > - clock-output-names = "s2mps13_ap", "s2mps13_cp", > - "s2mps13_bt"; > - }; > - > - regulators { > - ldo1_reg: LDO1 { > - regulator-name = "VDD_ALIVE_0.9V_AP"; > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <900000>; > - regulator-always-on; > - }; > - > - ldo2_reg: LDO2 { > - regulator-name = "VDDQ_MMC2_2.8V_AP"; > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <2800000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo3_reg: LDO3 { > - regulator-name = "VDD1_E_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-always-on; > - }; > - > - ldo4_reg: LDO4 { > - regulator-name = "VDD10_MIF_PLL_1.0V_AP"; > - regulator-min-microvolt = <1300000>; > - regulator-max-microvolt = <1300000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo5_reg: LDO5 { > - regulator-name = "VDD10_DPLL_1.0V_AP"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1000000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo6_reg: LDO6 { > - regulator-name = "VDD10_MIPI2L_1.0V_AP"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1000000>; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo7_reg: LDO7 { > - regulator-name = "VDD18_MIPI2L_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo8_reg: LDO8 { > - regulator-name = "VDD18_LLI_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo9_reg: LDO9 { > - regulator-name = "VDD18_ABB_ETC_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo10_reg: LDO10 { > - regulator-name = "VDD33_USB30_3.0V_AP"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3000000>; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo11_reg: LDO11 { > - regulator-name = "VDD_INT_M_1.0V_AP"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1000000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo12_reg: LDO12 { > - regulator-name = "VDD_KFC_M_1.1V_AP"; > - regulator-min-microvolt = <800000>; > - regulator-max-microvolt = <1350000>; > - regulator-always-on; > - }; > - > - ldo13_reg: LDO13 { > - regulator-name = "VDD_G3D_M_0.95V_AP"; > - regulator-min-microvolt = <950000>; > - regulator-max-microvolt = <950000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo14_reg: LDO14 { > - regulator-name = "VDDQ_M1_LDO_1.2V_AP"; > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo15_reg: LDO15 { > - regulator-name = "VDDQ_M2_LDO_1.2V_AP"; > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - ldo16_reg: LDO16 { > - regulator-name = "VDDQ_EFUSE"; > - regulator-min-microvolt = <1400000>; > - regulator-max-microvolt = <3400000>; > - regulator-always-on; > - }; > - > - ldo17_reg: LDO17 { > - regulator-name = "V_TFLASH_2.8V_AP"; > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <2800000>; > - }; > - > - ldo18_reg: LDO18 { > - regulator-name = "V_CODEC_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo19_reg: LDO19 { > - regulator-name = "VDDA_1.8V_COMP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-always-on; > - }; > - > - ldo20_reg: LDO20 { > - regulator-name = "VCC_2.8V_AP"; > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <2800000>; > - regulator-always-on; > - }; > - > - ldo21_reg: LDO21 { > - regulator-name = "VT_CAM_1.8V"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo22_reg: LDO22 { > - regulator-name = "CAM_IO_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo23_reg: LDO23 { > - regulator-name = "CAM_SEN_CORE_1.05V_AP"; > - regulator-min-microvolt = <1050000>; > - regulator-max-microvolt = <1050000>; > - }; > - > - ldo24_reg: LDO24 { > - regulator-name = "VT_CAM_1.2V"; > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - }; > - > - ldo25_reg: LDO25 { > - regulator-name = "UNUSED_LDO25"; > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <2800000>; > - regulator-always-off; > - }; > - > - ldo26_reg: LDO26 { > - regulator-name = "CAM_AF_2.8V_AP"; > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <2800000>; > - }; > - > - ldo27_reg: LDO27 { > - regulator-name = "VCC_3.0V_LCD_AP"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3000000>; > - }; > - > - ldo28_reg: LDO28 { > - regulator-name = "VCC_1.8V_LCD_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo29_reg: LDO29 { > - regulator-name = "VT_CAM_2.8V"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3000000>; > - }; > - > - ldo30_reg: LDO30 { > - regulator-name = "TSP_AVDD_3.3V_AP"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo31_reg: LDO31 { > - regulator-name = "TSP_VDD_1.85V_AP"; > - regulator-min-microvolt = <1850000>; > - regulator-max-microvolt = <1850000>; > - }; > - > - ldo32_reg: LDO32 { > - regulator-name = "VTOUCH_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo33_reg: LDO33 { > - regulator-name = "VTOUCH_LED_3.3V"; > - regulator-min-microvolt = <2500000>; > - regulator-max-microvolt = <3300000>; > - regulator-ramp-delay = <12500>; > - }; > - > - ldo34_reg: LDO34 { > - regulator-name = "VCC_1.8V_MHL_AP"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <2100000>; > - }; > - > - ldo35_reg: LDO35 { > - regulator-name = "OIS_VM_2.8V"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <2800000>; > - }; > - > - ldo36_reg: LDO36 { > - regulator-name = "VSIL_1.0V"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1000000>; > - }; > - > - ldo37_reg: LDO37 { > - regulator-name = "VF_1.8V"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo38_reg: LDO38 { > - regulator-name = "VCC_3.0V_MOTOR_AP"; > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3000000>; > - }; > - > - ldo39_reg: LDO39 { > - regulator-name = "V_HRM_1.8V"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - > - ldo40_reg: LDO40 { > - regulator-name = "V_HRM_3.3V"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - buck1_reg: BUCK1 { > - regulator-name = "VDD_MIF_0.9V_AP"; > - regulator-min-microvolt = <600000>; > - regulator-max-microvolt = <1500000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck2_reg: BUCK2 { > - regulator-name = "VDD_EGL_1.0V_AP"; > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <1300000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck3_reg: BUCK3 { > - regulator-name = "VDD_KFC_1.0V_AP"; > - regulator-min-microvolt = <800000>; > - regulator-max-microvolt = <1200000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck4_reg: BUCK4 { > - regulator-name = "VDD_INT_0.95V_AP"; > - regulator-min-microvolt = <600000>; > - regulator-max-microvolt = <1500000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck5_reg: BUCK5 { > - regulator-name = "VDD_DISP_CAM0_0.9V_AP"; > - regulator-min-microvolt = <600000>; > - regulator-max-microvolt = <1500000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck6_reg: BUCK6 { > - regulator-name = "VDD_G3D_0.9V_AP"; > - regulator-min-microvolt = <600000>; > - regulator-max-microvolt = <1500000>; > - regulator-always-on; > - regulator-state-mem { > - regulator-off-in-suspend; > - }; > - }; > - > - buck7_reg: BUCK7 { > - regulator-name = "VDD_MEM1_1.2V_AP"; > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - regulator-always-on; > - }; > - > - buck8_reg: BUCK8 { > - regulator-name = "VDD_LLDO_1.35V_AP"; > - regulator-min-microvolt = <1350000>; > - regulator-max-microvolt = <3300000>; > - regulator-always-on; > - }; > - > - buck9_reg: BUCK9 { > - regulator-name = "VDD_MLDO_2.0V_AP"; > - regulator-min-microvolt = <1350000>; > - regulator-max-microvolt = <3300000>; > - regulator-always-on; > - }; > - > - buck10_reg: BUCK10 { > - regulator-name = "vdd_mem2"; > - regulator-min-microvolt = <550000>; > - regulator-max-microvolt = <1500000>; > - regulator-always-on; > - }; > - }; > - }; > -}; > - > -&hsi2c_8 { > - status = "okay"; > - > - max77843@66 { > - compatible = "maxim,max77843"; > - interrupt-parent = <&gpa1>; > - interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > - reg = <0x66>; > - > - muic: max77843-muic { > - compatible = "maxim,max77843-muic"; > - }; > - > - regulators { > - compatible = "maxim,max77843-regulator"; > - safeout1_reg: SAFEOUT1 { > - regulator-name = "SAFEOUT1"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <4950000>; > - }; > - > - safeout2_reg: SAFEOUT2 { > - regulator-name = "SAFEOUT2"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <4950000>; > - }; > - > - charger_reg: CHARGER { > - regulator-name = "CHARGER"; > - regulator-min-microamp = <100000>; > - regulator-max-microamp = <3150000>; > - }; > - }; > - > - haptic: max77843-haptic { > - compatible = "maxim,max77843-haptic"; > - haptic-supply = <&ldo38_reg>; > - pwms = <&pwm 0 33670 0>; > - pwm-names = "haptic"; > - }; > - }; > -}; > - > -&i2s0 { > - status = "okay"; > -}; > - > -&mshc_0 { > - status = "okay"; > - num-slots = <1>; > - mmc-hs200-1_8v; > - mmc-hs400-1_8v; > - cap-mmc-highspeed; > - non-removable; > - card-detect-delay = <200>; > - samsung,dw-mshc-ciu-div = <3>; > - samsung,dw-mshc-sdr-timing = <0 4>; > - samsung,dw-mshc-ddr-timing = <0 2>; > - samsung,dw-mshc-hs400-timing = <0 3>; > - samsung,read-strobe-delay = <90>; > - fifo-depth = <0x80>; > - pinctrl-names = "default"; > - pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 > - &sd0_bus8 &sd0_rdqs>; > - bus-width = <8>; > - assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>; > - assigned-clock-rates = <800000000>; > -}; > - > -&mshc_2 { > - status = "okay"; > - num-slots = <1>; > - cap-sd-highspeed; > - disable-wp; > - cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>; > - cd-inverted; > - card-detect-delay = <200>; > - samsung,dw-mshc-ciu-div = <3>; > - samsung,dw-mshc-sdr-timing = <0 4>; > - samsung,dw-mshc-ddr-timing = <0 2>; > - fifo-depth = <0x80>; > - pinctrl-names = "default"; > - pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>; > - bus-width = <4>; > -}; > - > -&ppmu_d0_general { > - status = "okay"; > - events { > - ppmu_event0_d0_general: ppmu-event0-d0-general { > - event-name = "ppmu-event0-d0-general"; > - }; > - }; > -}; > - > -&ppmu_d1_general { > - status = "okay"; > - events { > - ppmu_event0_d1_general: ppmu-event0-d1-general { > - event-name = "ppmu-event0-d1-general"; > - }; > - }; > -}; > - > -&pinctrl_alive { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_alive>; > - > - initial_alive: initial-state { > - PIN(INPUT, gpa0-0, DOWN, FAST_SR1); > - PIN(INPUT, gpa0-1, NONE, FAST_SR1); > - PIN(INPUT, gpa0-2, DOWN, FAST_SR1); > - PIN(INPUT, gpa0-3, NONE, FAST_SR1); > - PIN(INPUT, gpa0-4, NONE, FAST_SR1); > - PIN(INPUT, gpa0-5, DOWN, FAST_SR1); > - PIN(INPUT, gpa0-6, NONE, FAST_SR1); > - PIN(INPUT, gpa0-7, NONE, FAST_SR1); > - > - PIN(INPUT, gpa1-0, UP, FAST_SR1); > - PIN(INPUT, gpa1-1, NONE, FAST_SR1); > - PIN(INPUT, gpa1-2, NONE, FAST_SR1); > - PIN(INPUT, gpa1-3, DOWN, FAST_SR1); > - PIN(INPUT, gpa1-4, DOWN, FAST_SR1); > - PIN(INPUT, gpa1-5, NONE, FAST_SR1); > - PIN(INPUT, gpa1-6, NONE, FAST_SR1); > - PIN(INPUT, gpa1-7, NONE, FAST_SR1); > - > - PIN(INPUT, gpa2-0, NONE, FAST_SR1); > - PIN(INPUT, gpa2-1, NONE, FAST_SR1); > - PIN(INPUT, gpa2-2, NONE, FAST_SR1); > - PIN(INPUT, gpa2-3, DOWN, FAST_SR1); > - PIN(INPUT, gpa2-4, NONE, FAST_SR1); > - PIN(INPUT, gpa2-5, DOWN, FAST_SR1); > - PIN(INPUT, gpa2-6, DOWN, FAST_SR1); > - PIN(INPUT, gpa2-7, NONE, FAST_SR1); > - > - PIN(INPUT, gpa3-0, DOWN, FAST_SR1); > - PIN(INPUT, gpa3-1, DOWN, FAST_SR1); > - PIN(INPUT, gpa3-2, NONE, FAST_SR1); > - PIN(INPUT, gpa3-3, DOWN, FAST_SR1); > - PIN(INPUT, gpa3-4, NONE, FAST_SR1); > - PIN(INPUT, gpa3-5, DOWN, FAST_SR1); > - PIN(INPUT, gpa3-6, DOWN, FAST_SR1); > - PIN(INPUT, gpa3-7, DOWN, FAST_SR1); > - > - PIN(INPUT, gpf1-0, NONE, FAST_SR1); > - PIN(INPUT, gpf1-1, NONE, FAST_SR1); > - PIN(INPUT, gpf1-2, DOWN, FAST_SR1); > - PIN(INPUT, gpf1-4, UP, FAST_SR1); > - PIN(OUTPUT, gpf1-5, NONE, FAST_SR1); > - PIN(INPUT, gpf1-6, DOWN, FAST_SR1); > - PIN(INPUT, gpf1-7, DOWN, FAST_SR1); > - > - PIN(INPUT, gpf2-0, DOWN, FAST_SR1); > - PIN(INPUT, gpf2-1, DOWN, FAST_SR1); > - PIN(INPUT, gpf2-2, DOWN, FAST_SR1); > - PIN(INPUT, gpf2-3, DOWN, FAST_SR1); > - > - PIN(INPUT, gpf3-0, DOWN, FAST_SR1); > - PIN(INPUT, gpf3-1, DOWN, FAST_SR1); > - PIN(INPUT, gpf3-2, NONE, FAST_SR1); > - PIN(INPUT, gpf3-3, DOWN, FAST_SR1); > - > - PIN(INPUT, gpf4-0, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-1, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-2, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-3, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-4, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-5, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-6, DOWN, FAST_SR1); > - PIN(INPUT, gpf4-7, DOWN, FAST_SR1); > - > - PIN(INPUT, gpf5-0, DOWN, FAST_SR1); > - PIN(INPUT, gpf5-1, DOWN, FAST_SR1); > - PIN(INPUT, gpf5-2, DOWN, FAST_SR1); > - PIN(INPUT, gpf5-3, DOWN, FAST_SR1); > - PIN(OUTPUT, gpf5-4, NONE, FAST_SR1); > - PIN(INPUT, gpf5-5, DOWN, FAST_SR1); > - PIN(INPUT, gpf5-6, DOWN, FAST_SR1); > - PIN(INPUT, gpf5-7, DOWN, FAST_SR1); > - }; > - > - te_irq: te_irq { > - samsung,pins = "gpf1-3"; > - samsung,pin-function = <0xf>; > - }; > -}; > - > -&pinctrl_cpif { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_cpif>; > - > - initial_cpif: initial-state { > - PIN(INPUT, gpv6-0, DOWN, FAST_SR1); > - PIN(INPUT, gpv6-1, DOWN, FAST_SR1); > - }; > -}; > - > -&pinctrl_ese { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_ese>; > - > - initial_ese: initial-state { > - PIN(INPUT, gpj2-0, DOWN, FAST_SR1); > - PIN(INPUT, gpj2-1, DOWN, FAST_SR1); > - PIN(INPUT, gpj2-2, DOWN, FAST_SR1); > - }; > -}; > - > -&pinctrl_fsys { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_fsys>; > - > - initial_fsys: initial-state { > - PIN(INPUT, gpr3-0, NONE, FAST_SR1); > - PIN(INPUT, gpr3-1, DOWN, FAST_SR1); > - PIN(INPUT, gpr3-2, DOWN, FAST_SR1); > - PIN(INPUT, gpr3-3, DOWN, FAST_SR1); > - PIN(INPUT, gpr3-7, NONE, FAST_SR1); > - }; > -}; > - > -&pinctrl_imem { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_imem>; > - > - initial_imem: initial-state { > - PIN(INPUT, gpf0-0, UP, FAST_SR1); > - PIN(INPUT, gpf0-1, UP, FAST_SR1); > - PIN(INPUT, gpf0-2, DOWN, FAST_SR1); > - PIN(INPUT, gpf0-3, UP, FAST_SR1); > - PIN(INPUT, gpf0-4, DOWN, FAST_SR1); > - PIN(INPUT, gpf0-5, NONE, FAST_SR1); > - PIN(INPUT, gpf0-6, DOWN, FAST_SR1); > - PIN(INPUT, gpf0-7, UP, FAST_SR1); > - }; > -}; > - > -&pinctrl_nfc { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_nfc>; > - > - initial_nfc: initial-state { > - PIN(INPUT, gpj0-2, DOWN, FAST_SR1); > - }; > -}; > - > -&pinctrl_peric { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_peric>; > - > - initial_peric: initial-state { > - PIN(INPUT, gpv7-0, DOWN, FAST_SR1); > - PIN(INPUT, gpv7-1, DOWN, FAST_SR1); > - PIN(INPUT, gpv7-2, NONE, FAST_SR1); > - PIN(INPUT, gpv7-3, DOWN, FAST_SR1); > - PIN(INPUT, gpv7-4, DOWN, FAST_SR1); > - PIN(INPUT, gpv7-5, DOWN, FAST_SR1); > - > - PIN(INPUT, gpb0-4, DOWN, FAST_SR1); > - > - PIN(INPUT, gpc0-2, DOWN, FAST_SR1); > - PIN(INPUT, gpc0-5, DOWN, FAST_SR1); > - PIN(INPUT, gpc0-7, DOWN, FAST_SR1); > - > - PIN(INPUT, gpc1-1, DOWN, FAST_SR1); > - > - PIN(INPUT, gpc3-4, NONE, FAST_SR1); > - PIN(INPUT, gpc3-5, NONE, FAST_SR1); > - PIN(INPUT, gpc3-6, NONE, FAST_SR1); > - PIN(INPUT, gpc3-7, NONE, FAST_SR1); > - > - PIN(OUTPUT, gpg0-0, NONE, FAST_SR1); > - PIN(2, gpg0-1, DOWN, FAST_SR1); > - > - PIN(INPUT, gpd2-5, DOWN, FAST_SR1); > - > - PIN(INPUT, gpd4-0, NONE, FAST_SR1); > - PIN(INPUT, gpd4-1, DOWN, FAST_SR1); > - PIN(INPUT, gpd4-2, DOWN, FAST_SR1); > - PIN(INPUT, gpd4-3, DOWN, FAST_SR1); > - PIN(INPUT, gpd4-4, DOWN, FAST_SR1); > - > - PIN(INPUT, gpd6-3, DOWN, FAST_SR1); > - > - PIN(INPUT, gpd8-1, UP, FAST_SR1); > - > - PIN(INPUT, gpg1-0, DOWN, FAST_SR1); > - PIN(INPUT, gpg1-1, DOWN, FAST_SR1); > - PIN(INPUT, gpg1-2, DOWN, FAST_SR1); > - PIN(INPUT, gpg1-3, DOWN, FAST_SR1); > - PIN(INPUT, gpg1-4, DOWN, FAST_SR1); > - > - PIN(INPUT, gpg2-0, DOWN, FAST_SR1); > - PIN(INPUT, gpg2-1, DOWN, FAST_SR1); > - > - PIN(INPUT, gpg3-0, DOWN, FAST_SR1); > - PIN(INPUT, gpg3-1, DOWN, FAST_SR1); > - PIN(INPUT, gpg3-5, DOWN, FAST_SR1); > - PIN(INPUT, gpg3-7, DOWN, FAST_SR1); > - }; > -}; > - > -&pinctrl_touch { > - pinctrl-names = "default"; > - pinctrl-0 = <&initial_touch>; > - > - initial_touch: initial-state { > - PIN(INPUT, gpj1-2, DOWN, FAST_SR1); > - }; > -}; > - > -&pwm { > - pinctrl-0 = <&pwm0_out>; > - pinctrl-names = "default"; > - status = "okay"; > -}; > - > -&mic { > - status = "okay"; > - > - i80-if-timings { > - }; > -}; > - > -&pmu_system_controller { > - assigned-clocks = <&pmu_system_controller 0>; > - assigned-clock-parents = <&xxti>; > -}; > - > -&serial_1 { > - status = "okay"; > -}; > - > -&spi_1 { > - cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>; > - status = "okay"; > - > - wm5110: wm5110-codec@0 { > - compatible = "wlf,wm5110"; > - reg = <0x0>; > - spi-max-frequency = <20000000>; > - interrupt-parent = <&gpa0>; > - interrupts = <4 IRQ_TYPE_NONE>; > - clocks = <&pmu_system_controller 0>, > - <&s2mps13_osc S2MPS11_CLK_BT>; > - clock-names = "mclk1", "mclk2"; > - > - gpio-controller; > - #gpio-cells = <2>; > - > - wlf,micd-detect-debounce = <300>; > - wlf,micd-bias-start-time = <0x1>; > - wlf,micd-rate = <0x7>; > - wlf,micd-dbtime = <0x1>; > - wlf,micd-force-micbias; > - wlf,micd-configs = <0x0 1 0>; > - wlf,hpdet-channel = <1>; > - wlf,gpsw = <0x1>; > - wlf,inmode = <2 0 2 0>; > - > - wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>; > - wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>; > - > - /* core supplies */ > - AVDD-supply = <&ldo18_reg>; > - DBVDD1-supply = <&ldo18_reg>; > - CPVDD-supply = <&ldo18_reg>; > - DBVDD2-supply = <&ldo18_reg>; > - DBVDD3-supply = <&ldo18_reg>; > - > - controller-data { > - samsung,spi-feedback-delay = <0>; > - }; > - }; > -}; > - > -&timer { > - clock-frequency = <24000000>; > -}; > - > -&tmu_atlas0 { > - vtmu-supply = <&ldo3_reg>; > - status = "okay"; > -}; > - > -&tmu_apollo { > - vtmu-supply = <&ldo3_reg>; > - status = "okay"; > -}; > - > -&tmu_g3d { > - vtmu-supply = <&ldo3_reg>; > - status = "okay"; > -}; > - > -&usbdrd30 { > - vdd33-supply = <&ldo10_reg>; > - vdd10-supply = <&ldo6_reg>; > - status = "okay"; > -}; > - > -&usbdrd_dwc3_0 { > - dr_mode = "otg"; > -}; > - > -&usbdrd30_phy { > - vbus-supply = <&safeout1_reg>; > - status = "okay"; > -}; > - > -&xxti { > - clock-frequency = <24000000>; > -}; > +/* > + * SAMSUNG Exynos5433 TM2 board device tree source > + * > + * Copyright (c) 2016 Samsung Electronics Co., Ltd. > + * > + * Device tree source file for Samsung's TM2 board which is based on > + * Samsung Exynos5433 SoC. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#include "exynos5433-tm2-common.dtsi" > + > +/ { > + model = "Samsung TM2E board"; > + compatible = "samsung,tm2e", "samsung,exynos5433"; > +}; > + > +®ulators { > + ldo31_reg: LDO31 { > + regulator-name = "TSP_VDD_1.85V_AP"; > + regulator-min-microvolt = <1850000>; > + regulator-max-microvolt = <1850000>; > + }; > + > + ldo38_reg: LDO38 { > + regulator-name = "VCC_3.0V_MOTOR_AP"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + }; > +}; > diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts > index 854c583..53e361f 100644 > --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts > +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts > @@ -11,21 +11,23 @@ > * published by the Free Software Foundation. > */ > > -#include "exynos5433-tm2.dts" > +#include "exynos5433-tm2-common.dtsi" > > / { > model = "Samsung TM2E board"; > compatible = "samsung,tm2e", "samsung,exynos5433"; > }; > > -&ldo31_reg { > - regulator-name = "TSP_VDD_1.8V_AP"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > -}; > +®ulators { > + ldo31_reg: LDO31 { > + regulator-name = "TSP_VDD_1.8V_AP"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + }; > > -&ldo38_reg { > - regulator-name = "VCC_3.3V_MOTOR_AP"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > + ldo38_reg: LDO38 { > + regulator-name = "VCC_3.3V_MOTOR_AP"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > }; > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On Fri, Jan 06, 2017 at 09:09:11AM +0200, Krzysztof Kozlowski wrote: > On Fri, Jan 06, 2017 at 12:59:06PM +0900, Jaechul Lee wrote: > > From: Andi Shyti <andi.shyti@samsung.com> > > > > Currently tm2e dts includes tm2 but there are some differences > > between the two boards and tm2 has some properties that tm2e > > doesn't have. > > > > That's why it's important to keep the two dts files independent > > and put all the commonalities in a tm2-common.dtsi file. > > > > At the current status the only two differences between the two > > dts files (besides the board name) are ldo31 and ldo38. > > > > Signed-off-by: Andi Shyti <andi.shyti@samsung.com> > > Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com> > > --- > > .../boot/dts/exynos/exynos5433-tm2-common.dtsi | 1118 +++++++++++++++++++ > > arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- > > Like talking to a wall. Without any feedback. If my instructions were > wrong (and it is not possible to detect rename) then please say it (you > can add personal comments after separator ---). no Krzysztof, I'm sorry, but this patch has been formatted with the diff algorithm *you* asked, -B50% both version 2 (where you didn't comment) and version 3. If you still don't like it, please don't blame me, blame the algorithm. Now we can stay here at trying random diff algorithms (as they give more or less the same result) or you tell me which exact algorithm you want me to use. Besides, for me it's clear, tm2-common is all new, while in tm2 you have on one side the '-' (if it applies nothing has changed) on the bottom the '+'. Andi -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Jan 06, 2017 at 04:59:14PM +0900, Andi Shyti wrote: > Hi, > > On Fri, Jan 06, 2017 at 09:09:11AM +0200, Krzysztof Kozlowski wrote: > > On Fri, Jan 06, 2017 at 12:59:06PM +0900, Jaechul Lee wrote: > > > From: Andi Shyti <andi.shyti@samsung.com> > > > > > > Currently tm2e dts includes tm2 but there are some differences > > > between the two boards and tm2 has some properties that tm2e > > > doesn't have. > > > > > > That's why it's important to keep the two dts files independent > > > and put all the commonalities in a tm2-common.dtsi file. > > > > > > At the current status the only two differences between the two > > > dts files (besides the board name) are ldo31 and ldo38. > > > > > > Signed-off-by: Andi Shyti <andi.shyti@samsung.com> > > > Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com> > > > --- > > > .../boot/dts/exynos/exynos5433-tm2-common.dtsi | 1118 +++++++++++++++++++ > > > arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- > > > > Like talking to a wall. Without any feedback. If my instructions were > > wrong (and it is not possible to detect rename) then please say it (you > > can add personal comments after separator ---). > > no Krzysztof, I'm sorry, but this patch has been formatted with > the diff algorithm *you* asked, -B50% both version 2 (where you > didn't comment) and version 3. If you still don't like it, please > don't blame me, blame the algorithm. If you wrote it in cover letter or after '---' I wouldn't complain because I would know that my feedback was ignored. But here it is like black hole - I do not know whether I was ignored or it was not working. > > Now we can stay here at trying random diff algorithms (as they > give more or less the same result) or you tell me which exact > algorithm you want me to use. Besides, for me it's clear, > tm2-common is all new, while in tm2 you have on one side the '-' > (if it applies nothing has changed) on the bottom the '+'. Maybe that depends on the git? $ git --version git version 2.9.3 $ git format-patch -2 -B50% ... 21 ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} | 24 +- 22 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- 23 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 22 +- 24 3 files changed, 56 insertions(+), 1143 deletions(-) 25 copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (98%) 26 rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%) Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Krzysztof, > > > > .../boot/dts/exynos/exynos5433-tm2-common.dtsi | 1118 +++++++++++++++++++ > > > > arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- > > > > > > Like talking to a wall. Without any feedback. If my instructions were > > > wrong (and it is not possible to detect rename) then please say it (you > > > can add personal comments after separator ---). > > > > no Krzysztof, I'm sorry, but this patch has been formatted with > > the diff algorithm *you* asked, -B50% both version 2 (where you > > didn't comment) and version 3. If you still don't like it, please > > don't blame me, blame the algorithm. > > If you wrote it in cover letter or after '---' I wouldn't complain > because I would know that my feedback was ignored. But here it is like > black hole - I do not know whether I was ignored or it was not working. In the cover letter is written: "- patch 3 diff has been generated with -B50%" in "Changes in v2:". In v3 patch 3 has become patch 2. > > Now we can stay here at trying random diff algorithms (as they > > give more or less the same result) or you tell me which exact > > algorithm you want me to use. Besides, for me it's clear, > > tm2-common is all new, while in tm2 you have on one side the '-' > > (if it applies nothing has changed) on the bottom the '+'. > > Maybe that depends on the git? > $ git --version > git version 2.9.3 > $ git format-patch -2 -B50% > ... > 21 ...ynos5433-tm2.dts => exynos5433-tm2-common.dtsi} | 24 +- > 22 arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 1153 +------------------- > 23 arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts | 22 +- > 24 3 files changed, 56 insertions(+), 1143 deletions(-) > 25 copy arch/arm64/boot/dts/exynos/{exynos5433-tm2.dts => exynos5433-tm2-common.dtsi} (98%) > 26 rewrite arch/arm64/boot/dts/exynos/exynos5433-tm2.dts (98%) I guess you're right, this has been generated from Jaechul's PC who perhaps has a different version. I have version 2.11.0 and I have same output as you. I will send the patch generated from my PC as reply to your mail. Andi -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi new file mode 100644 index 0000000..c43f9a3 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi @@ -0,0 +1,1118 @@ +/* + * SAMSUNG Exynos5433 TM2 board device tree source + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * + * Common device tree source file for Samsung's TM2 and TM2E boards + * which are based on Samsung Exynos5433 SoC. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/dts-v1/; +#include "exynos5433.dtsi" +#include <dt-bindings/clock/samsung,s2mps11.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + model = "Samsung TM2 board"; + compatible = "samsung,tm2", "samsung,exynos5433"; + + aliases { + gsc0 = &gsc_0; + gsc1 = &gsc_1; + gsc2 = &gsc_2; + pinctrl0 = &pinctrl_alive; + pinctrl1 = &pinctrl_aud; + pinctrl2 = &pinctrl_cpif; + pinctrl3 = &pinctrl_ese; + pinctrl4 = &pinctrl_finger; + pinctrl5 = &pinctrl_fsys; + pinctrl6 = &pinctrl_imem; + pinctrl7 = &pinctrl_nfc; + pinctrl8 = &pinctrl_peric; + pinctrl9 = &pinctrl_touch; + serial0 = &serial_0; + serial1 = &serial_1; + serial2 = &serial_2; + serial3 = &serial_3; + spi0 = &spi_0; + spi1 = &spi_1; + spi2 = &spi_2; + spi3 = &spi_3; + spi4 = &spi_4; + mshc0 = &mshc_0; + mshc2 = &mshc_2; + }; + + chosen { + stdout-path = &serial_1; + }; + + memory@20000000 { + device_type = "memory"; + reg = <0x0 0x20000000 0x0 0xc0000000>; + }; + + gpio-keys { + compatible = "gpio-keys"; + + power-key { + gpios = <&gpa2 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + label = "power key"; + debounce-interval = <10>; + }; + + volume-up-key { + gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEUP>; + label = "volume-up key"; + debounce-interval = <10>; + }; + + volume-down-key { + gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VOLUMEDOWN>; + label = "volume-down key"; + debounce-interval = <10>; + }; + + homepage-key { + gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; + linux,code = <KEY_MENU>; + label = "homepage key"; + debounce-interval = <10>; + }; + }; + + i2c_max98504: i2c-gpio-0 { + compatible = "i2c-gpio"; + gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */ + &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >; + i2c-gpio,delay-us = <2>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + max98504: max98504@31 { + compatible = "maxim,max98504"; + reg = <0x31>; + maxim,rx-path = <1>; + maxim,tx-path = <1>; + maxim,tx-channel-mask = <3>; + maxim,tx-channel-source = <2>; + }; + }; + + sound { + compatible = "samsung,tm2-audio"; + audio-codec = <&wm5110>; + i2s-controller = <&i2s0>; + audio-amplifier = <&max98504>; + mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>; + model = "wm5110"; + samsung,audio-routing = + /* Headphone */ + "HP", "HPOUT1L", + "HP", "HPOUT1R", + + /* Speaker */ + "SPK", "SPKOUT", + "SPKOUT", "HPOUT2L", + "SPKOUT", "HPOUT2R", + + /* Receiver */ + "RCV", "HPOUT3L", + "RCV", "HPOUT3R"; + status = "okay"; + }; +}; + +&adc { + vdd-supply = <&ldo3_reg>; + status = "okay"; + + thermistor-ap { + compatible = "murata,ncp03wf104"; + pullup-uv = <1800000>; + pullup-ohm = <100000>; + pulldown-ohm = <0>; + io-channels = <&adc 0>; + }; + + thermistor-battery { + compatible = "murata,ncp03wf104"; + pullup-uv = <1800000>; + pullup-ohm = <100000>; + pulldown-ohm = <0>; + io-channels = <&adc 1>; + #thermal-sensor-cells = <0>; + }; + + thermistor-charger { + compatible = "murata,ncp03wf104"; + pullup-uv = <1800000>; + pullup-ohm = <100000>; + pulldown-ohm = <0>; + io-channels = <&adc 2>; + }; +}; + +&bus_g2d_400 { + devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>; + vdd-supply = <&buck4_reg>; + exynos,saturation-ratio = <10>; + status = "okay"; +}; + +&bus_g2d_266 { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_gscl { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_hevc { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_jpeg { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_mfc { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_mscl { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_noc0 { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_noc1 { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&bus_noc2 { + devfreq = <&bus_g2d_400>; + status = "okay"; +}; + +&cmu_aud { + assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>; + assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>; +}; + +&cmu_fsys { + assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>, + <&cmu_top CLK_MOUT_SCLK_USBHOST30>, + <&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>, + <&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>, + <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>, + <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>, + <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>, + <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>, + <&cmu_top CLK_DIV_SCLK_USBDRD30>, + <&cmu_top CLK_DIV_SCLK_USBHOST30>; + assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>, + <&cmu_top CLK_MOUT_BUS_PLL_USER>, + <&cmu_top CLK_SCLK_USBDRD30_FSYS>, + <&cmu_top CLK_SCLK_USBHOST30_FSYS>, + <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>, + <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>, + <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>, + <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>; + assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, + <66700000>, <66700000>; +}; + +&cmu_gscl { + assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>, + <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>; + assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>, + <&cmu_top CLK_ACLK_GSCL_333>; +}; + +&cmu_mfc { + assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>; + assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>; +}; + +&cmu_mscl { + assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>, + <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, + <&cmu_mscl CLK_MOUT_SCLK_JPEG>, + <&cmu_top CLK_MOUT_SCLK_JPEG_A>; + assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>, + <&cmu_top CLK_SCLK_JPEG_MSCL>, + <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, + <&cmu_top CLK_MOUT_BUS_PLL_USER>; +}; + +&cpu0 { + cpu-supply = <&buck3_reg>; +}; + +&cpu4 { + cpu-supply = <&buck2_reg>; +}; + +&decon { + status = "okay"; + + i80-if-timings { + }; +}; + +&dsi { + status = "okay"; + vddcore-supply = <&ldo6_reg>; + vddio-supply = <&ldo7_reg>; + samsung,pll-clock-frequency = <24000000>; + pinctrl-names = "default"; + pinctrl-0 = <&te_irq>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + dsi_out: endpoint { + samsung,burst-clock-frequency = <512000000>; + samsung,esc-clock-frequency = <16000000>; + }; + }; + }; +}; + +&hsi2c_0 { + status = "okay"; + clock-frequency = <2500000>; + + s2mps13-pmic@66 { + compatible = "samsung,s2mps13-pmic"; + interrupt-parent = <&gpa0>; + interrupts = <7 IRQ_TYPE_NONE>; + reg = <0x66>; + samsung,s2mps11-wrstbi-ground; + + s2mps13_osc: clocks { + compatible = "samsung,s2mps13-clk"; + #clock-cells = <1>; + clock-output-names = "s2mps13_ap", "s2mps13_cp", + "s2mps13_bt"; + }; + + regulators: regulators { + ldo1_reg: LDO1 { + regulator-name = "VDD_ALIVE_0.9V_AP"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + regulator-always-on; + }; + + ldo2_reg: LDO2 { + regulator-name = "VDDQ_MMC2_2.8V_AP"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo3_reg: LDO3 { + regulator-name = "VDD1_E_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo4_reg: LDO4 { + regulator-name = "VDD10_MIF_PLL_1.0V_AP"; + regulator-min-microvolt = <1300000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo5_reg: LDO5 { + regulator-name = "VDD10_DPLL_1.0V_AP"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo6_reg: LDO6 { + regulator-name = "VDD10_MIPI2L_1.0V_AP"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo7_reg: LDO7 { + regulator-name = "VDD18_MIPI2L_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo8_reg: LDO8 { + regulator-name = "VDD18_LLI_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo9_reg: LDO9 { + regulator-name = "VDD18_ABB_ETC_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo10_reg: LDO10 { + regulator-name = "VDD33_USB30_3.0V_AP"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo11_reg: LDO11 { + regulator-name = "VDD_INT_M_1.0V_AP"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo12_reg: LDO12 { + regulator-name = "VDD_KFC_M_1.1V_AP"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + }; + + ldo13_reg: LDO13 { + regulator-name = "VDD_G3D_M_0.95V_AP"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <950000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo14_reg: LDO14 { + regulator-name = "VDDQ_M1_LDO_1.2V_AP"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo15_reg: LDO15 { + regulator-name = "VDDQ_M2_LDO_1.2V_AP"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + ldo16_reg: LDO16 { + regulator-name = "VDDQ_EFUSE"; + regulator-min-microvolt = <1400000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + ldo17_reg: LDO17 { + regulator-name = "V_TFLASH_2.8V_AP"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo18_reg: LDO18 { + regulator-name = "V_CODEC_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo19_reg: LDO19 { + regulator-name = "VDDA_1.8V_COMP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + ldo20_reg: LDO20 { + regulator-name = "VCC_2.8V_AP"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + }; + + ldo21_reg: LDO21 { + regulator-name = "VT_CAM_1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo22_reg: LDO22 { + regulator-name = "CAM_IO_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo23_reg: LDO23 { + regulator-name = "CAM_SEN_CORE_1.05V_AP"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + }; + + ldo24_reg: LDO24 { + regulator-name = "VT_CAM_1.2V"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + ldo25_reg: LDO25 { + regulator-name = "UNUSED_LDO25"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-off; + }; + + ldo26_reg: LDO26 { + regulator-name = "CAM_AF_2.8V_AP"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo27_reg: LDO27 { + regulator-name = "VCC_3.0V_LCD_AP"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo28_reg: LDO28 { + regulator-name = "VCC_1.8V_LCD_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo29_reg: LDO29 { + regulator-name = "VT_CAM_2.8V"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; + + ldo30_reg: LDO30 { + regulator-name = "TSP_AVDD_3.3V_AP"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + /* + * LDO31 differs from target to target, + * its definition is in the .dts + */ + + ldo32_reg: LDO32 { + regulator-name = "VTOUCH_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo33_reg: LDO33 { + regulator-name = "VTOUCH_LED_3.3V"; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <12500>; + }; + + ldo34_reg: LDO34 { + regulator-name = "VCC_1.8V_MHL_AP"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <2100000>; + }; + + ldo35_reg: LDO35 { + regulator-name = "OIS_VM_2.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + }; + + ldo36_reg: LDO36 { + regulator-name = "VSIL_1.0V"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + }; + + ldo37_reg: LDO37 { + regulator-name = "VF_1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + /* + * LDO38 differs from target to target, + * its definition is in the .dts + */ + + ldo39_reg: LDO39 { + regulator-name = "V_HRM_1.8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + ldo40_reg: LDO40 { + regulator-name = "V_HRM_3.3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + buck1_reg: BUCK1 { + regulator-name = "VDD_MIF_0.9V_AP"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck2_reg: BUCK2 { + regulator-name = "VDD_EGL_1.0V_AP"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck3_reg: BUCK3 { + regulator-name = "VDD_KFC_1.0V_AP"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck4_reg: BUCK4 { + regulator-name = "VDD_INT_0.95V_AP"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck5_reg: BUCK5 { + regulator-name = "VDD_DISP_CAM0_0.9V_AP"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck6_reg: BUCK6 { + regulator-name = "VDD_G3D_0.9V_AP"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + buck7_reg: BUCK7 { + regulator-name = "VDD_MEM1_1.2V_AP"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + buck8_reg: BUCK8 { + regulator-name = "VDD_LLDO_1.35V_AP"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + buck9_reg: BUCK9 { + regulator-name = "VDD_MLDO_2.0V_AP"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + buck10_reg: BUCK10 { + regulator-name = "vdd_mem2"; + regulator-min-microvolt = <550000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + }; + }; + }; +}; + +&hsi2c_8 { + status = "okay"; + + max77843@66 { + compatible = "maxim,max77843"; + interrupt-parent = <&gpa1>; + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; + reg = <0x66>; + + muic: max77843-muic { + compatible = "maxim,max77843-muic"; + }; + + regulators { + compatible = "maxim,max77843-regulator"; + safeout1_reg: SAFEOUT1 { + regulator-name = "SAFEOUT1"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <4950000>; + }; + + safeout2_reg: SAFEOUT2 { + regulator-name = "SAFEOUT2"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <4950000>; + }; + + charger_reg: CHARGER { + regulator-name = "CHARGER"; + regulator-min-microamp = <100000>; + regulator-max-microamp = <3150000>; + }; + }; + + haptic: max77843-haptic { + compatible = "maxim,max77843-haptic"; + haptic-supply = <&ldo38_reg>; + pwms = <&pwm 0 33670 0>; + pwm-names = "haptic"; + }; + }; +}; + +&i2s0 { + status = "okay"; +}; + +&mshc_0 { + status = "okay"; + num-slots = <1>; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + cap-mmc-highspeed; + non-removable; + card-detect-delay = <200>; + samsung,dw-mshc-ciu-div = <3>; + samsung,dw-mshc-sdr-timing = <0 4>; + samsung,dw-mshc-ddr-timing = <0 2>; + samsung,dw-mshc-hs400-timing = <0 3>; + samsung,read-strobe-delay = <90>; + fifo-depth = <0x80>; + pinctrl-names = "default"; + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 + &sd0_bus8 &sd0_rdqs>; + bus-width = <8>; + assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>; + assigned-clock-rates = <800000000>; +}; + +&mshc_2 { + status = "okay"; + num-slots = <1>; + cap-sd-highspeed; + disable-wp; + cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>; + cd-inverted; + card-detect-delay = <200>; + samsung,dw-mshc-ciu-div = <3>; + samsung,dw-mshc-sdr-timing = <0 4>; + samsung,dw-mshc-ddr-timing = <0 2>; + fifo-depth = <0x80>; + pinctrl-names = "default"; + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>; + bus-width = <4>; +}; + +&ppmu_d0_general { + status = "okay"; + events { + ppmu_event0_d0_general: ppmu-event0-d0-general { + event-name = "ppmu-event0-d0-general"; + }; + }; +}; + +&ppmu_d1_general { + status = "okay"; + events { + ppmu_event0_d1_general: ppmu-event0-d1-general { + event-name = "ppmu-event0-d1-general"; + }; + }; +}; + +&pinctrl_alive { + pinctrl-names = "default"; + pinctrl-0 = <&initial_alive>; + + initial_alive: initial-state { + PIN(INPUT, gpa0-0, DOWN, FAST_SR1); + PIN(INPUT, gpa0-1, NONE, FAST_SR1); + PIN(INPUT, gpa0-2, DOWN, FAST_SR1); + PIN(INPUT, gpa0-3, NONE, FAST_SR1); + PIN(INPUT, gpa0-4, NONE, FAST_SR1); + PIN(INPUT, gpa0-5, DOWN, FAST_SR1); + PIN(INPUT, gpa0-6, NONE, FAST_SR1); + PIN(INPUT, gpa0-7, NONE, FAST_SR1); + + PIN(INPUT, gpa1-0, UP, FAST_SR1); + PIN(INPUT, gpa1-1, NONE, FAST_SR1); + PIN(INPUT, gpa1-2, NONE, FAST_SR1); + PIN(INPUT, gpa1-3, DOWN, FAST_SR1); + PIN(INPUT, gpa1-4, DOWN, FAST_SR1); + PIN(INPUT, gpa1-5, NONE, FAST_SR1); + PIN(INPUT, gpa1-6, NONE, FAST_SR1); + PIN(INPUT, gpa1-7, NONE, FAST_SR1); + + PIN(INPUT, gpa2-0, NONE, FAST_SR1); + PIN(INPUT, gpa2-1, NONE, FAST_SR1); + PIN(INPUT, gpa2-2, NONE, FAST_SR1); + PIN(INPUT, gpa2-3, DOWN, FAST_SR1); + PIN(INPUT, gpa2-4, NONE, FAST_SR1); + PIN(INPUT, gpa2-5, DOWN, FAST_SR1); + PIN(INPUT, gpa2-6, DOWN, FAST_SR1); + PIN(INPUT, gpa2-7, NONE, FAST_SR1); + + PIN(INPUT, gpa3-0, DOWN, FAST_SR1); + PIN(INPUT, gpa3-1, DOWN, FAST_SR1); + PIN(INPUT, gpa3-2, NONE, FAST_SR1); + PIN(INPUT, gpa3-3, DOWN, FAST_SR1); + PIN(INPUT, gpa3-4, NONE, FAST_SR1); + PIN(INPUT, gpa3-5, DOWN, FAST_SR1); + PIN(INPUT, gpa3-6, DOWN, FAST_SR1); + PIN(INPUT, gpa3-7, DOWN, FAST_SR1); + + PIN(INPUT, gpf1-0, NONE, FAST_SR1); + PIN(INPUT, gpf1-1, NONE, FAST_SR1); + PIN(INPUT, gpf1-2, DOWN, FAST_SR1); + PIN(INPUT, gpf1-4, UP, FAST_SR1); + PIN(OUTPUT, gpf1-5, NONE, FAST_SR1); + PIN(INPUT, gpf1-6, DOWN, FAST_SR1); + PIN(INPUT, gpf1-7, DOWN, FAST_SR1); + + PIN(INPUT, gpf2-0, DOWN, FAST_SR1); + PIN(INPUT, gpf2-1, DOWN, FAST_SR1); + PIN(INPUT, gpf2-2, DOWN, FAST_SR1); + PIN(INPUT, gpf2-3, DOWN, FAST_SR1); + + PIN(INPUT, gpf3-0, DOWN, FAST_SR1); + PIN(INPUT, gpf3-1, DOWN, FAST_SR1); + PIN(INPUT, gpf3-2, NONE, FAST_SR1); + PIN(INPUT, gpf3-3, DOWN, FAST_SR1); + + PIN(INPUT, gpf4-0, DOWN, FAST_SR1); + PIN(INPUT, gpf4-1, DOWN, FAST_SR1); + PIN(INPUT, gpf4-2, DOWN, FAST_SR1); + PIN(INPUT, gpf4-3, DOWN, FAST_SR1); + PIN(INPUT, gpf4-4, DOWN, FAST_SR1); + PIN(INPUT, gpf4-5, DOWN, FAST_SR1); + PIN(INPUT, gpf4-6, DOWN, FAST_SR1); + PIN(INPUT, gpf4-7, DOWN, FAST_SR1); + + PIN(INPUT, gpf5-0, DOWN, FAST_SR1); + PIN(INPUT, gpf5-1, DOWN, FAST_SR1); + PIN(INPUT, gpf5-2, DOWN, FAST_SR1); + PIN(INPUT, gpf5-3, DOWN, FAST_SR1); + PIN(OUTPUT, gpf5-4, NONE, FAST_SR1); + PIN(INPUT, gpf5-5, DOWN, FAST_SR1); + PIN(INPUT, gpf5-6, DOWN, FAST_SR1); + PIN(INPUT, gpf5-7, DOWN, FAST_SR1); + }; + + te_irq: te_irq { + samsung,pins = "gpf1-3"; + samsung,pin-function = <0xf>; + }; +}; + +&pinctrl_cpif { + pinctrl-names = "default"; + pinctrl-0 = <&initial_cpif>; + + initial_cpif: initial-state { + PIN(INPUT, gpv6-0, DOWN, FAST_SR1); + PIN(INPUT, gpv6-1, DOWN, FAST_SR1); + }; +}; + +&pinctrl_ese { + pinctrl-names = "default"; + pinctrl-0 = <&initial_ese>; + + initial_ese: initial-state { + PIN(INPUT, gpj2-0, DOWN, FAST_SR1); + PIN(INPUT, gpj2-1, DOWN, FAST_SR1); + PIN(INPUT, gpj2-2, DOWN, FAST_SR1); + }; +}; + +&pinctrl_fsys { + pinctrl-names = "default"; + pinctrl-0 = <&initial_fsys>; + + initial_fsys: initial-state { + PIN(INPUT, gpr3-0, NONE, FAST_SR1); + PIN(INPUT, gpr3-1, DOWN, FAST_SR1); + PIN(INPUT, gpr3-2, DOWN, FAST_SR1); + PIN(INPUT, gpr3-3, DOWN, FAST_SR1); + PIN(INPUT, gpr3-7, NONE, FAST_SR1); + }; +}; + +&pinctrl_imem { + pinctrl-names = "default"; + pinctrl-0 = <&initial_imem>; + + initial_imem: initial-state { + PIN(INPUT, gpf0-0, UP, FAST_SR1); + PIN(INPUT, gpf0-1, UP, FAST_SR1); + PIN(INPUT, gpf0-2, DOWN, FAST_SR1); + PIN(INPUT, gpf0-3, UP, FAST_SR1); + PIN(INPUT, gpf0-4, DOWN, FAST_SR1); + PIN(INPUT, gpf0-5, NONE, FAST_SR1); + PIN(INPUT, gpf0-6, DOWN, FAST_SR1); + PIN(INPUT, gpf0-7, UP, FAST_SR1); + }; +}; + +&pinctrl_nfc { + pinctrl-names = "default"; + pinctrl-0 = <&initial_nfc>; + + initial_nfc: initial-state { + PIN(INPUT, gpj0-2, DOWN, FAST_SR1); + }; +}; + +&pinctrl_peric { + pinctrl-names = "default"; + pinctrl-0 = <&initial_peric>; + + initial_peric: initial-state { + PIN(INPUT, gpv7-0, DOWN, FAST_SR1); + PIN(INPUT, gpv7-1, DOWN, FAST_SR1); + PIN(INPUT, gpv7-2, NONE, FAST_SR1); + PIN(INPUT, gpv7-3, DOWN, FAST_SR1); + PIN(INPUT, gpv7-4, DOWN, FAST_SR1); + PIN(INPUT, gpv7-5, DOWN, FAST_SR1); + + PIN(INPUT, gpb0-4, DOWN, FAST_SR1); + + PIN(INPUT, gpc0-2, DOWN, FAST_SR1); + PIN(INPUT, gpc0-5, DOWN, FAST_SR1); + PIN(INPUT, gpc0-7, DOWN, FAST_SR1); + + PIN(INPUT, gpc1-1, DOWN, FAST_SR1); + + PIN(INPUT, gpc3-4, NONE, FAST_SR1); + PIN(INPUT, gpc3-5, NONE, FAST_SR1); + PIN(INPUT, gpc3-6, NONE, FAST_SR1); + PIN(INPUT, gpc3-7, NONE, FAST_SR1); + + PIN(OUTPUT, gpg0-0, NONE, FAST_SR1); + PIN(2, gpg0-1, DOWN, FAST_SR1); + + PIN(INPUT, gpd2-5, DOWN, FAST_SR1); + + PIN(INPUT, gpd4-0, NONE, FAST_SR1); + PIN(INPUT, gpd4-1, DOWN, FAST_SR1); + PIN(INPUT, gpd4-2, DOWN, FAST_SR1); + PIN(INPUT, gpd4-3, DOWN, FAST_SR1); + PIN(INPUT, gpd4-4, DOWN, FAST_SR1); + + PIN(INPUT, gpd6-3, DOWN, FAST_SR1); + + PIN(INPUT, gpd8-1, UP, FAST_SR1); + + PIN(INPUT, gpg1-0, DOWN, FAST_SR1); + PIN(INPUT, gpg1-1, DOWN, FAST_SR1); + PIN(INPUT, gpg1-2, DOWN, FAST_SR1); + PIN(INPUT, gpg1-3, DOWN, FAST_SR1); + PIN(INPUT, gpg1-4, DOWN, FAST_SR1); + + PIN(INPUT, gpg2-0, DOWN, FAST_SR1); + PIN(INPUT, gpg2-1, DOWN, FAST_SR1); + + PIN(INPUT, gpg3-0, DOWN, FAST_SR1); + PIN(INPUT, gpg3-1, DOWN, FAST_SR1); + PIN(INPUT, gpg3-5, DOWN, FAST_SR1); + PIN(INPUT, gpg3-7, DOWN, FAST_SR1); + }; +}; + +&pinctrl_touch { + pinctrl-names = "default"; + pinctrl-0 = <&initial_touch>; + + initial_touch: initial-state { + PIN(INPUT, gpj1-2, DOWN, FAST_SR1); + }; +}; + +&pwm { + pinctrl-0 = <&pwm0_out>; + pinctrl-names = "default"; + status = "okay"; +}; + +&mic { + status = "okay"; + + i80-if-timings { + }; +}; + +&pmu_system_controller { + assigned-clocks = <&pmu_system_controller 0>; + assigned-clock-parents = <&xxti>; +}; + +&serial_1 { + status = "okay"; +}; + +&spi_1 { + cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>; + status = "okay"; + + wm5110: wm5110-codec@0 { + compatible = "wlf,wm5110"; + reg = <0x0>; + spi-max-frequency = <20000000>; + interrupt-parent = <&gpa0>; + interrupts = <4 IRQ_TYPE_NONE>; + clocks = <&pmu_system_controller 0>, + <&s2mps13_osc S2MPS11_CLK_BT>; + clock-names = "mclk1", "mclk2"; + + gpio-controller; + #gpio-cells = <2>; + + wlf,micd-detect-debounce = <300>; + wlf,micd-bias-start-time = <0x1>; + wlf,micd-rate = <0x7>; + wlf,micd-dbtime = <0x1>; + wlf,micd-force-micbias; + wlf,micd-configs = <0x0 1 0>; + wlf,hpdet-channel = <1>; + wlf,gpsw = <0x1>; + wlf,inmode = <2 0 2 0>; + + wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>; + wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>; + + /* core supplies */ + AVDD-supply = <&ldo18_reg>; + DBVDD1-supply = <&ldo18_reg>; + CPVDD-supply = <&ldo18_reg>; + DBVDD2-supply = <&ldo18_reg>; + DBVDD3-supply = <&ldo18_reg>; + + controller-data { + samsung,spi-feedback-delay = <0>; + }; + }; +}; + +&timer { + clock-frequency = <24000000>; +}; + +&tmu_atlas0 { + vtmu-supply = <&ldo3_reg>; + status = "okay"; +}; + +&tmu_apollo { + vtmu-supply = <&ldo3_reg>; + status = "okay"; +}; + +&tmu_g3d { + vtmu-supply = <&ldo3_reg>; + status = "okay"; +}; + +&usbdrd30 { + vdd33-supply = <&ldo10_reg>; + vdd10-supply = <&ldo6_reg>; + status = "okay"; +}; + +&usbdrd_dwc3_0 { + dr_mode = "otg"; +}; + +&usbdrd30_phy { + vbus-supply = <&safeout1_reg>; + status = "okay"; +}; + +&xxti { + clock-frequency = <24000000>; +}; diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts dissimilarity index 98% index e8971f4..d30b45a 100644 --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2.dts @@ -1,1120 +1,33 @@ -/* - * SAMSUNG Exynos5433 TM2 board device tree source - * - * Copyright (c) 2016 Samsung Electronics Co., Ltd. - * - * Device tree source file for Samsung's TM2 board which is based on - * Samsung Exynos5433 SoC. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -/dts-v1/; -#include "exynos5433.dtsi" -#include <dt-bindings/clock/samsung,s2mps11.h> -#include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/input/input.h> -#include <dt-bindings/interrupt-controller/irq.h> - -/ { - model = "Samsung TM2 board"; - compatible = "samsung,tm2", "samsung,exynos5433"; - - aliases { - gsc0 = &gsc_0; - gsc1 = &gsc_1; - gsc2 = &gsc_2; - pinctrl0 = &pinctrl_alive; - pinctrl1 = &pinctrl_aud; - pinctrl2 = &pinctrl_cpif; - pinctrl3 = &pinctrl_ese; - pinctrl4 = &pinctrl_finger; - pinctrl5 = &pinctrl_fsys; - pinctrl6 = &pinctrl_imem; - pinctrl7 = &pinctrl_nfc; - pinctrl8 = &pinctrl_peric; - pinctrl9 = &pinctrl_touch; - serial0 = &serial_0; - serial1 = &serial_1; - serial2 = &serial_2; - serial3 = &serial_3; - spi0 = &spi_0; - spi1 = &spi_1; - spi2 = &spi_2; - spi3 = &spi_3; - spi4 = &spi_4; - mshc0 = &mshc_0; - mshc2 = &mshc_2; - }; - - chosen { - stdout-path = &serial_1; - }; - - memory@20000000 { - device_type = "memory"; - reg = <0x0 0x20000000 0x0 0xc0000000>; - }; - - gpio-keys { - compatible = "gpio-keys"; - - power-key { - gpios = <&gpa2 7 GPIO_ACTIVE_LOW>; - linux,code = <KEY_POWER>; - label = "power key"; - debounce-interval = <10>; - }; - - volume-up-key { - gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; - linux,code = <KEY_VOLUMEUP>; - label = "volume-up key"; - debounce-interval = <10>; - }; - - volume-down-key { - gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; - linux,code = <KEY_VOLUMEDOWN>; - label = "volume-down key"; - debounce-interval = <10>; - }; - - homepage-key { - gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; - linux,code = <KEY_MENU>; - label = "homepage key"; - debounce-interval = <10>; - }; - }; - - i2c_max98504: i2c-gpio-0 { - compatible = "i2c-gpio"; - gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */ - &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >; - i2c-gpio,delay-us = <2>; - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - max98504: max98504@31 { - compatible = "maxim,max98504"; - reg = <0x31>; - maxim,rx-path = <1>; - maxim,tx-path = <1>; - maxim,tx-channel-mask = <3>; - maxim,tx-channel-source = <2>; - }; - }; - - sound { - compatible = "samsung,tm2-audio"; - audio-codec = <&wm5110>; - i2s-controller = <&i2s0>; - audio-amplifier = <&max98504>; - mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>; - model = "wm5110"; - samsung,audio-routing = - /* Headphone */ - "HP", "HPOUT1L", - "HP", "HPOUT1R", - - /* Speaker */ - "SPK", "SPKOUT", - "SPKOUT", "HPOUT2L", - "SPKOUT", "HPOUT2R", - - /* Receiver */ - "RCV", "HPOUT3L", - "RCV", "HPOUT3R"; - status = "okay"; - }; -}; - -&adc { - vdd-supply = <&ldo3_reg>; - status = "okay"; - - thermistor-ap { - compatible = "murata,ncp03wf104"; - pullup-uv = <1800000>; - pullup-ohm = <100000>; - pulldown-ohm = <0>; - io-channels = <&adc 0>; - }; - - thermistor-battery { - compatible = "murata,ncp03wf104"; - pullup-uv = <1800000>; - pullup-ohm = <100000>; - pulldown-ohm = <0>; - io-channels = <&adc 1>; - #thermal-sensor-cells = <0>; - }; - - thermistor-charger { - compatible = "murata,ncp03wf104"; - pullup-uv = <1800000>; - pullup-ohm = <100000>; - pulldown-ohm = <0>; - io-channels = <&adc 2>; - }; -}; - -&bus_g2d_400 { - devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>; - vdd-supply = <&buck4_reg>; - exynos,saturation-ratio = <10>; - status = "okay"; -}; - -&bus_g2d_266 { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_gscl { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_hevc { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_jpeg { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_mfc { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_mscl { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_noc0 { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_noc1 { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&bus_noc2 { - devfreq = <&bus_g2d_400>; - status = "okay"; -}; - -&cmu_aud { - assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>; - assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>; -}; - -&cmu_fsys { - assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>, - <&cmu_top CLK_MOUT_SCLK_USBHOST30>, - <&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>, - <&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>, - <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>, - <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>, - <&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>, - <&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>, - <&cmu_top CLK_DIV_SCLK_USBDRD30>, - <&cmu_top CLK_DIV_SCLK_USBHOST30>; - assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>, - <&cmu_top CLK_MOUT_BUS_PLL_USER>, - <&cmu_top CLK_SCLK_USBDRD30_FSYS>, - <&cmu_top CLK_SCLK_USBHOST30_FSYS>, - <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>, - <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>, - <&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>, - <&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>; - assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>, - <66700000>, <66700000>; -}; - -&cmu_gscl { - assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>, - <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>; - assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>, - <&cmu_top CLK_ACLK_GSCL_333>; -}; - -&cmu_mfc { - assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>; - assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>; -}; - -&cmu_mscl { - assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>, - <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, - <&cmu_mscl CLK_MOUT_SCLK_JPEG>, - <&cmu_top CLK_MOUT_SCLK_JPEG_A>; - assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>, - <&cmu_top CLK_SCLK_JPEG_MSCL>, - <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>, - <&cmu_top CLK_MOUT_BUS_PLL_USER>; -}; - -&cpu0 { - cpu-supply = <&buck3_reg>; -}; - -&cpu4 { - cpu-supply = <&buck2_reg>; -}; - -&decon { - status = "okay"; - - i80-if-timings { - }; -}; - -&dsi { - status = "okay"; - vddcore-supply = <&ldo6_reg>; - vddio-supply = <&ldo7_reg>; - samsung,pll-clock-frequency = <24000000>; - pinctrl-names = "default"; - pinctrl-0 = <&te_irq>; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - - dsi_out: endpoint { - samsung,burst-clock-frequency = <512000000>; - samsung,esc-clock-frequency = <16000000>; - }; - }; - }; -}; - -&hsi2c_0 { - status = "okay"; - clock-frequency = <2500000>; - - s2mps13-pmic@66 { - compatible = "samsung,s2mps13-pmic"; - interrupt-parent = <&gpa0>; - interrupts = <7 IRQ_TYPE_NONE>; - reg = <0x66>; - samsung,s2mps11-wrstbi-ground; - - s2mps13_osc: clocks { - compatible = "samsung,s2mps13-clk"; - #clock-cells = <1>; - clock-output-names = "s2mps13_ap", "s2mps13_cp", - "s2mps13_bt"; - }; - - regulators { - ldo1_reg: LDO1 { - regulator-name = "VDD_ALIVE_0.9V_AP"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <900000>; - regulator-always-on; - }; - - ldo2_reg: LDO2 { - regulator-name = "VDDQ_MMC2_2.8V_AP"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo3_reg: LDO3 { - regulator-name = "VDD1_E_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - }; - - ldo4_reg: LDO4 { - regulator-name = "VDD10_MIF_PLL_1.0V_AP"; - regulator-min-microvolt = <1300000>; - regulator-max-microvolt = <1300000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo5_reg: LDO5 { - regulator-name = "VDD10_DPLL_1.0V_AP"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1000000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo6_reg: LDO6 { - regulator-name = "VDD10_MIPI2L_1.0V_AP"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1000000>; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo7_reg: LDO7 { - regulator-name = "VDD18_MIPI2L_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo8_reg: LDO8 { - regulator-name = "VDD18_LLI_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo9_reg: LDO9 { - regulator-name = "VDD18_ABB_ETC_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo10_reg: LDO10 { - regulator-name = "VDD33_USB30_3.0V_AP"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo11_reg: LDO11 { - regulator-name = "VDD_INT_M_1.0V_AP"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1000000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo12_reg: LDO12 { - regulator-name = "VDD_KFC_M_1.1V_AP"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1350000>; - regulator-always-on; - }; - - ldo13_reg: LDO13 { - regulator-name = "VDD_G3D_M_0.95V_AP"; - regulator-min-microvolt = <950000>; - regulator-max-microvolt = <950000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo14_reg: LDO14 { - regulator-name = "VDDQ_M1_LDO_1.2V_AP"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo15_reg: LDO15 { - regulator-name = "VDDQ_M2_LDO_1.2V_AP"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - ldo16_reg: LDO16 { - regulator-name = "VDDQ_EFUSE"; - regulator-min-microvolt = <1400000>; - regulator-max-microvolt = <3400000>; - regulator-always-on; - }; - - ldo17_reg: LDO17 { - regulator-name = "V_TFLASH_2.8V_AP"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - }; - - ldo18_reg: LDO18 { - regulator-name = "V_CODEC_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo19_reg: LDO19 { - regulator-name = "VDDA_1.8V_COMP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - }; - - ldo20_reg: LDO20 { - regulator-name = "VCC_2.8V_AP"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-always-on; - }; - - ldo21_reg: LDO21 { - regulator-name = "VT_CAM_1.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo22_reg: LDO22 { - regulator-name = "CAM_IO_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo23_reg: LDO23 { - regulator-name = "CAM_SEN_CORE_1.05V_AP"; - regulator-min-microvolt = <1050000>; - regulator-max-microvolt = <1050000>; - }; - - ldo24_reg: LDO24 { - regulator-name = "VT_CAM_1.2V"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - }; - - ldo25_reg: LDO25 { - regulator-name = "UNUSED_LDO25"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-always-off; - }; - - ldo26_reg: LDO26 { - regulator-name = "CAM_AF_2.8V_AP"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - }; - - ldo27_reg: LDO27 { - regulator-name = "VCC_3.0V_LCD_AP"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - }; - - ldo28_reg: LDO28 { - regulator-name = "VCC_1.8V_LCD_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo29_reg: LDO29 { - regulator-name = "VT_CAM_2.8V"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - }; - - ldo30_reg: LDO30 { - regulator-name = "TSP_AVDD_3.3V_AP"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; - - ldo31_reg: LDO31 { - regulator-name = "TSP_VDD_1.85V_AP"; - regulator-min-microvolt = <1850000>; - regulator-max-microvolt = <1850000>; - }; - - ldo32_reg: LDO32 { - regulator-name = "VTOUCH_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo33_reg: LDO33 { - regulator-name = "VTOUCH_LED_3.3V"; - regulator-min-microvolt = <2500000>; - regulator-max-microvolt = <3300000>; - regulator-ramp-delay = <12500>; - }; - - ldo34_reg: LDO34 { - regulator-name = "VCC_1.8V_MHL_AP"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <2100000>; - }; - - ldo35_reg: LDO35 { - regulator-name = "OIS_VM_2.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <2800000>; - }; - - ldo36_reg: LDO36 { - regulator-name = "VSIL_1.0V"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1000000>; - }; - - ldo37_reg: LDO37 { - regulator-name = "VF_1.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo38_reg: LDO38 { - regulator-name = "VCC_3.0V_MOTOR_AP"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - }; - - ldo39_reg: LDO39 { - regulator-name = "V_HRM_1.8V"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - ldo40_reg: LDO40 { - regulator-name = "V_HRM_3.3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; - - buck1_reg: BUCK1 { - regulator-name = "VDD_MIF_0.9V_AP"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1500000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck2_reg: BUCK2 { - regulator-name = "VDD_EGL_1.0V_AP"; - regulator-min-microvolt = <900000>; - regulator-max-microvolt = <1300000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck3_reg: BUCK3 { - regulator-name = "VDD_KFC_1.0V_AP"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1200000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck4_reg: BUCK4 { - regulator-name = "VDD_INT_0.95V_AP"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1500000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck5_reg: BUCK5 { - regulator-name = "VDD_DISP_CAM0_0.9V_AP"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1500000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck6_reg: BUCK6 { - regulator-name = "VDD_G3D_0.9V_AP"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1500000>; - regulator-always-on; - regulator-state-mem { - regulator-off-in-suspend; - }; - }; - - buck7_reg: BUCK7 { - regulator-name = "VDD_MEM1_1.2V_AP"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-always-on; - }; - - buck8_reg: BUCK8 { - regulator-name = "VDD_LLDO_1.35V_AP"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - buck9_reg: BUCK9 { - regulator-name = "VDD_MLDO_2.0V_AP"; - regulator-min-microvolt = <1350000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - buck10_reg: BUCK10 { - regulator-name = "vdd_mem2"; - regulator-min-microvolt = <550000>; - regulator-max-microvolt = <1500000>; - regulator-always-on; - }; - }; - }; -}; - -&hsi2c_8 { - status = "okay"; - - max77843@66 { - compatible = "maxim,max77843"; - interrupt-parent = <&gpa1>; - interrupts = <5 IRQ_TYPE_EDGE_FALLING>; - reg = <0x66>; - - muic: max77843-muic { - compatible = "maxim,max77843-muic"; - }; - - regulators { - compatible = "maxim,max77843-regulator"; - safeout1_reg: SAFEOUT1 { - regulator-name = "SAFEOUT1"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <4950000>; - }; - - safeout2_reg: SAFEOUT2 { - regulator-name = "SAFEOUT2"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <4950000>; - }; - - charger_reg: CHARGER { - regulator-name = "CHARGER"; - regulator-min-microamp = <100000>; - regulator-max-microamp = <3150000>; - }; - }; - - haptic: max77843-haptic { - compatible = "maxim,max77843-haptic"; - haptic-supply = <&ldo38_reg>; - pwms = <&pwm 0 33670 0>; - pwm-names = "haptic"; - }; - }; -}; - -&i2s0 { - status = "okay"; -}; - -&mshc_0 { - status = "okay"; - num-slots = <1>; - mmc-hs200-1_8v; - mmc-hs400-1_8v; - cap-mmc-highspeed; - non-removable; - card-detect-delay = <200>; - samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <0 4>; - samsung,dw-mshc-ddr-timing = <0 2>; - samsung,dw-mshc-hs400-timing = <0 3>; - samsung,read-strobe-delay = <90>; - fifo-depth = <0x80>; - pinctrl-names = "default"; - pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4 - &sd0_bus8 &sd0_rdqs>; - bus-width = <8>; - assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>; - assigned-clock-rates = <800000000>; -}; - -&mshc_2 { - status = "okay"; - num-slots = <1>; - cap-sd-highspeed; - disable-wp; - cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>; - cd-inverted; - card-detect-delay = <200>; - samsung,dw-mshc-ciu-div = <3>; - samsung,dw-mshc-sdr-timing = <0 4>; - samsung,dw-mshc-ddr-timing = <0 2>; - fifo-depth = <0x80>; - pinctrl-names = "default"; - pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>; - bus-width = <4>; -}; - -&ppmu_d0_general { - status = "okay"; - events { - ppmu_event0_d0_general: ppmu-event0-d0-general { - event-name = "ppmu-event0-d0-general"; - }; - }; -}; - -&ppmu_d1_general { - status = "okay"; - events { - ppmu_event0_d1_general: ppmu-event0-d1-general { - event-name = "ppmu-event0-d1-general"; - }; - }; -}; - -&pinctrl_alive { - pinctrl-names = "default"; - pinctrl-0 = <&initial_alive>; - - initial_alive: initial-state { - PIN(INPUT, gpa0-0, DOWN, FAST_SR1); - PIN(INPUT, gpa0-1, NONE, FAST_SR1); - PIN(INPUT, gpa0-2, DOWN, FAST_SR1); - PIN(INPUT, gpa0-3, NONE, FAST_SR1); - PIN(INPUT, gpa0-4, NONE, FAST_SR1); - PIN(INPUT, gpa0-5, DOWN, FAST_SR1); - PIN(INPUT, gpa0-6, NONE, FAST_SR1); - PIN(INPUT, gpa0-7, NONE, FAST_SR1); - - PIN(INPUT, gpa1-0, UP, FAST_SR1); - PIN(INPUT, gpa1-1, NONE, FAST_SR1); - PIN(INPUT, gpa1-2, NONE, FAST_SR1); - PIN(INPUT, gpa1-3, DOWN, FAST_SR1); - PIN(INPUT, gpa1-4, DOWN, FAST_SR1); - PIN(INPUT, gpa1-5, NONE, FAST_SR1); - PIN(INPUT, gpa1-6, NONE, FAST_SR1); - PIN(INPUT, gpa1-7, NONE, FAST_SR1); - - PIN(INPUT, gpa2-0, NONE, FAST_SR1); - PIN(INPUT, gpa2-1, NONE, FAST_SR1); - PIN(INPUT, gpa2-2, NONE, FAST_SR1); - PIN(INPUT, gpa2-3, DOWN, FAST_SR1); - PIN(INPUT, gpa2-4, NONE, FAST_SR1); - PIN(INPUT, gpa2-5, DOWN, FAST_SR1); - PIN(INPUT, gpa2-6, DOWN, FAST_SR1); - PIN(INPUT, gpa2-7, NONE, FAST_SR1); - - PIN(INPUT, gpa3-0, DOWN, FAST_SR1); - PIN(INPUT, gpa3-1, DOWN, FAST_SR1); - PIN(INPUT, gpa3-2, NONE, FAST_SR1); - PIN(INPUT, gpa3-3, DOWN, FAST_SR1); - PIN(INPUT, gpa3-4, NONE, FAST_SR1); - PIN(INPUT, gpa3-5, DOWN, FAST_SR1); - PIN(INPUT, gpa3-6, DOWN, FAST_SR1); - PIN(INPUT, gpa3-7, DOWN, FAST_SR1); - - PIN(INPUT, gpf1-0, NONE, FAST_SR1); - PIN(INPUT, gpf1-1, NONE, FAST_SR1); - PIN(INPUT, gpf1-2, DOWN, FAST_SR1); - PIN(INPUT, gpf1-4, UP, FAST_SR1); - PIN(OUTPUT, gpf1-5, NONE, FAST_SR1); - PIN(INPUT, gpf1-6, DOWN, FAST_SR1); - PIN(INPUT, gpf1-7, DOWN, FAST_SR1); - - PIN(INPUT, gpf2-0, DOWN, FAST_SR1); - PIN(INPUT, gpf2-1, DOWN, FAST_SR1); - PIN(INPUT, gpf2-2, DOWN, FAST_SR1); - PIN(INPUT, gpf2-3, DOWN, FAST_SR1); - - PIN(INPUT, gpf3-0, DOWN, FAST_SR1); - PIN(INPUT, gpf3-1, DOWN, FAST_SR1); - PIN(INPUT, gpf3-2, NONE, FAST_SR1); - PIN(INPUT, gpf3-3, DOWN, FAST_SR1); - - PIN(INPUT, gpf4-0, DOWN, FAST_SR1); - PIN(INPUT, gpf4-1, DOWN, FAST_SR1); - PIN(INPUT, gpf4-2, DOWN, FAST_SR1); - PIN(INPUT, gpf4-3, DOWN, FAST_SR1); - PIN(INPUT, gpf4-4, DOWN, FAST_SR1); - PIN(INPUT, gpf4-5, DOWN, FAST_SR1); - PIN(INPUT, gpf4-6, DOWN, FAST_SR1); - PIN(INPUT, gpf4-7, DOWN, FAST_SR1); - - PIN(INPUT, gpf5-0, DOWN, FAST_SR1); - PIN(INPUT, gpf5-1, DOWN, FAST_SR1); - PIN(INPUT, gpf5-2, DOWN, FAST_SR1); - PIN(INPUT, gpf5-3, DOWN, FAST_SR1); - PIN(OUTPUT, gpf5-4, NONE, FAST_SR1); - PIN(INPUT, gpf5-5, DOWN, FAST_SR1); - PIN(INPUT, gpf5-6, DOWN, FAST_SR1); - PIN(INPUT, gpf5-7, DOWN, FAST_SR1); - }; - - te_irq: te_irq { - samsung,pins = "gpf1-3"; - samsung,pin-function = <0xf>; - }; -}; - -&pinctrl_cpif { - pinctrl-names = "default"; - pinctrl-0 = <&initial_cpif>; - - initial_cpif: initial-state { - PIN(INPUT, gpv6-0, DOWN, FAST_SR1); - PIN(INPUT, gpv6-1, DOWN, FAST_SR1); - }; -}; - -&pinctrl_ese { - pinctrl-names = "default"; - pinctrl-0 = <&initial_ese>; - - initial_ese: initial-state { - PIN(INPUT, gpj2-0, DOWN, FAST_SR1); - PIN(INPUT, gpj2-1, DOWN, FAST_SR1); - PIN(INPUT, gpj2-2, DOWN, FAST_SR1); - }; -}; - -&pinctrl_fsys { - pinctrl-names = "default"; - pinctrl-0 = <&initial_fsys>; - - initial_fsys: initial-state { - PIN(INPUT, gpr3-0, NONE, FAST_SR1); - PIN(INPUT, gpr3-1, DOWN, FAST_SR1); - PIN(INPUT, gpr3-2, DOWN, FAST_SR1); - PIN(INPUT, gpr3-3, DOWN, FAST_SR1); - PIN(INPUT, gpr3-7, NONE, FAST_SR1); - }; -}; - -&pinctrl_imem { - pinctrl-names = "default"; - pinctrl-0 = <&initial_imem>; - - initial_imem: initial-state { - PIN(INPUT, gpf0-0, UP, FAST_SR1); - PIN(INPUT, gpf0-1, UP, FAST_SR1); - PIN(INPUT, gpf0-2, DOWN, FAST_SR1); - PIN(INPUT, gpf0-3, UP, FAST_SR1); - PIN(INPUT, gpf0-4, DOWN, FAST_SR1); - PIN(INPUT, gpf0-5, NONE, FAST_SR1); - PIN(INPUT, gpf0-6, DOWN, FAST_SR1); - PIN(INPUT, gpf0-7, UP, FAST_SR1); - }; -}; - -&pinctrl_nfc { - pinctrl-names = "default"; - pinctrl-0 = <&initial_nfc>; - - initial_nfc: initial-state { - PIN(INPUT, gpj0-2, DOWN, FAST_SR1); - }; -}; - -&pinctrl_peric { - pinctrl-names = "default"; - pinctrl-0 = <&initial_peric>; - - initial_peric: initial-state { - PIN(INPUT, gpv7-0, DOWN, FAST_SR1); - PIN(INPUT, gpv7-1, DOWN, FAST_SR1); - PIN(INPUT, gpv7-2, NONE, FAST_SR1); - PIN(INPUT, gpv7-3, DOWN, FAST_SR1); - PIN(INPUT, gpv7-4, DOWN, FAST_SR1); - PIN(INPUT, gpv7-5, DOWN, FAST_SR1); - - PIN(INPUT, gpb0-4, DOWN, FAST_SR1); - - PIN(INPUT, gpc0-2, DOWN, FAST_SR1); - PIN(INPUT, gpc0-5, DOWN, FAST_SR1); - PIN(INPUT, gpc0-7, DOWN, FAST_SR1); - - PIN(INPUT, gpc1-1, DOWN, FAST_SR1); - - PIN(INPUT, gpc3-4, NONE, FAST_SR1); - PIN(INPUT, gpc3-5, NONE, FAST_SR1); - PIN(INPUT, gpc3-6, NONE, FAST_SR1); - PIN(INPUT, gpc3-7, NONE, FAST_SR1); - - PIN(OUTPUT, gpg0-0, NONE, FAST_SR1); - PIN(2, gpg0-1, DOWN, FAST_SR1); - - PIN(INPUT, gpd2-5, DOWN, FAST_SR1); - - PIN(INPUT, gpd4-0, NONE, FAST_SR1); - PIN(INPUT, gpd4-1, DOWN, FAST_SR1); - PIN(INPUT, gpd4-2, DOWN, FAST_SR1); - PIN(INPUT, gpd4-3, DOWN, FAST_SR1); - PIN(INPUT, gpd4-4, DOWN, FAST_SR1); - - PIN(INPUT, gpd6-3, DOWN, FAST_SR1); - - PIN(INPUT, gpd8-1, UP, FAST_SR1); - - PIN(INPUT, gpg1-0, DOWN, FAST_SR1); - PIN(INPUT, gpg1-1, DOWN, FAST_SR1); - PIN(INPUT, gpg1-2, DOWN, FAST_SR1); - PIN(INPUT, gpg1-3, DOWN, FAST_SR1); - PIN(INPUT, gpg1-4, DOWN, FAST_SR1); - - PIN(INPUT, gpg2-0, DOWN, FAST_SR1); - PIN(INPUT, gpg2-1, DOWN, FAST_SR1); - - PIN(INPUT, gpg3-0, DOWN, FAST_SR1); - PIN(INPUT, gpg3-1, DOWN, FAST_SR1); - PIN(INPUT, gpg3-5, DOWN, FAST_SR1); - PIN(INPUT, gpg3-7, DOWN, FAST_SR1); - }; -}; - -&pinctrl_touch { - pinctrl-names = "default"; - pinctrl-0 = <&initial_touch>; - - initial_touch: initial-state { - PIN(INPUT, gpj1-2, DOWN, FAST_SR1); - }; -}; - -&pwm { - pinctrl-0 = <&pwm0_out>; - pinctrl-names = "default"; - status = "okay"; -}; - -&mic { - status = "okay"; - - i80-if-timings { - }; -}; - -&pmu_system_controller { - assigned-clocks = <&pmu_system_controller 0>; - assigned-clock-parents = <&xxti>; -}; - -&serial_1 { - status = "okay"; -}; - -&spi_1 { - cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>; - status = "okay"; - - wm5110: wm5110-codec@0 { - compatible = "wlf,wm5110"; - reg = <0x0>; - spi-max-frequency = <20000000>; - interrupt-parent = <&gpa0>; - interrupts = <4 IRQ_TYPE_NONE>; - clocks = <&pmu_system_controller 0>, - <&s2mps13_osc S2MPS11_CLK_BT>; - clock-names = "mclk1", "mclk2"; - - gpio-controller; - #gpio-cells = <2>; - - wlf,micd-detect-debounce = <300>; - wlf,micd-bias-start-time = <0x1>; - wlf,micd-rate = <0x7>; - wlf,micd-dbtime = <0x1>; - wlf,micd-force-micbias; - wlf,micd-configs = <0x0 1 0>; - wlf,hpdet-channel = <1>; - wlf,gpsw = <0x1>; - wlf,inmode = <2 0 2 0>; - - wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>; - wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>; - - /* core supplies */ - AVDD-supply = <&ldo18_reg>; - DBVDD1-supply = <&ldo18_reg>; - CPVDD-supply = <&ldo18_reg>; - DBVDD2-supply = <&ldo18_reg>; - DBVDD3-supply = <&ldo18_reg>; - - controller-data { - samsung,spi-feedback-delay = <0>; - }; - }; -}; - -&timer { - clock-frequency = <24000000>; -}; - -&tmu_atlas0 { - vtmu-supply = <&ldo3_reg>; - status = "okay"; -}; - -&tmu_apollo { - vtmu-supply = <&ldo3_reg>; - status = "okay"; -}; - -&tmu_g3d { - vtmu-supply = <&ldo3_reg>; - status = "okay"; -}; - -&usbdrd30 { - vdd33-supply = <&ldo10_reg>; - vdd10-supply = <&ldo6_reg>; - status = "okay"; -}; - -&usbdrd_dwc3_0 { - dr_mode = "otg"; -}; - -&usbdrd30_phy { - vbus-supply = <&safeout1_reg>; - status = "okay"; -}; - -&xxti { - clock-frequency = <24000000>; -}; +/* + * SAMSUNG Exynos5433 TM2 board device tree source + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * + * Device tree source file for Samsung's TM2 board which is based on + * Samsung Exynos5433 SoC. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "exynos5433-tm2-common.dtsi" + +/ { + model = "Samsung TM2E board"; + compatible = "samsung,tm2e", "samsung,exynos5433"; +}; + +®ulators { + ldo31_reg: LDO31 { + regulator-name = "TSP_VDD_1.85V_AP"; + regulator-min-microvolt = <1850000>; + regulator-max-microvolt = <1850000>; + }; + + ldo38_reg: LDO38 { + regulator-name = "VCC_3.0V_MOTOR_AP"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + }; +}; diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts index 854c583..53e361f 100644 --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2e.dts @@ -11,21 +11,23 @@ * published by the Free Software Foundation. */ -#include "exynos5433-tm2.dts" +#include "exynos5433-tm2-common.dtsi" / { model = "Samsung TM2E board"; compatible = "samsung,tm2e", "samsung,exynos5433"; }; -&ldo31_reg { - regulator-name = "TSP_VDD_1.8V_AP"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; -}; +®ulators { + ldo31_reg: LDO31 { + regulator-name = "TSP_VDD_1.8V_AP"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; -&ldo38_reg { - regulator-name = "VCC_3.3V_MOTOR_AP"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; + ldo38_reg: LDO38 { + regulator-name = "VCC_3.3V_MOTOR_AP"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; };