| // SPDX-License-Identifier: GPL-2.0 | 
| /* | 
|  * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree | 
|  * | 
|  * Copyright (c) 2012 Samsung Electronics Co., Ltd. | 
|  *        http://www.samsung.com | 
|  * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com> | 
|  * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net> | 
|  */ | 
|   | 
| /dts-v1/; | 
| #include "exynos4210.dtsi" | 
| #include "exynos4412-ppmu-common.dtsi" | 
|   | 
| #include <dt-bindings/gpio/gpio.h> | 
| #include <dt-bindings/input/linux-event-codes.h> | 
|   | 
| / { | 
|     model = "Samsung Galaxy S2 (GT-I9100)"; | 
|     compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4"; | 
|   | 
|     memory@40000000 { | 
|         device_type = "memory"; | 
|         reg = <0x40000000 0x40000000>; | 
|     }; | 
|   | 
|     chosen { | 
|         stdout-path = "serial2:115200n8"; | 
|     }; | 
|   | 
|     vemmc_reg: regulator-0 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "VMEM_VDD_2.8V"; | 
|         regulator-min-microvolt = <2800000>; | 
|         regulator-max-microvolt = <2800000>; | 
|         gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; | 
|         enable-active-high; | 
|     }; | 
|   | 
|     tsp_reg: regulator-1 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "TSP_FIXED_VOLTAGES"; | 
|         regulator-min-microvolt = <3300000>; | 
|         regulator-max-microvolt = <3300000>; | 
|         gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>; | 
|         startup-delay-us = <70000>; | 
|         enable-active-high; | 
|         regulator-boot-on; | 
|         regulator-always-on; | 
|     }; | 
|   | 
|     cam_af_28v_reg: regulator-2 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "8M_AF_2.8V_EN"; | 
|         regulator-min-microvolt = <2800000>; | 
|         regulator-max-microvolt = <2800000>; | 
|         gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>; | 
|         enable-active-high; | 
|     }; | 
|   | 
|     cam_io_en_reg: regulator-3 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "CAM_IO_EN"; | 
|         regulator-min-microvolt = <2800000>; | 
|         regulator-max-microvolt = <2800000>; | 
|         gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>; | 
|         enable-active-high; | 
|     }; | 
|   | 
|     cam_io_12v_reg: regulator-4 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "8M_1.2V_EN"; | 
|         regulator-min-microvolt = <1200000>; | 
|         regulator-max-microvolt = <1200000>; | 
|         gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>; | 
|         enable-active-high; | 
|     }; | 
|   | 
|     vt_core_15v_reg: regulator-5 { | 
|         compatible = "regulator-fixed"; | 
|         regulator-name = "VT_CORE_1.5V"; | 
|         regulator-min-microvolt = <1500000>; | 
|         regulator-max-microvolt = <1500000>; | 
|         gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>; | 
|         enable-active-high; | 
|     }; | 
|   | 
|     gpio-keys { | 
|         compatible = "gpio-keys"; | 
|   | 
|         vol-down { | 
|             gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; | 
|             linux,code = <KEY_VOLUMEDOWN>; | 
|             label = "volume down"; | 
|             debounce-interval = <10>; | 
|         }; | 
|   | 
|         vol-up { | 
|             gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; | 
|             linux,code = <KEY_VOLUMEUP>; | 
|             label = "volume up"; | 
|             debounce-interval = <10>; | 
|         }; | 
|   | 
|         power { | 
|             gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; | 
|             linux,code = <KEY_POWER>; | 
|             label = "power"; | 
|             debounce-interval = <10>; | 
|             wakeup-source; | 
|         }; | 
|   | 
|         ok { | 
|             gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | 
|             linux,code = <KEY_OK>; | 
|             label = "ok"; | 
|             debounce-interval = <10>; | 
|         }; | 
|     }; | 
|   | 
|     wlan_pwrseq: sdhci3-pwrseq { | 
|         compatible = "mmc-pwrseq-simple"; | 
|         reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>; | 
|     }; | 
|   | 
|     i2c_max17042_fuel: i2c-gpio-0 { | 
|         compatible = "i2c-gpio"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|   | 
|         sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
|         scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | 
|         i2c-gpio,delay-us = <5>; | 
|   | 
|         battery@36 { | 
|             compatible = "maxim,max17042"; | 
|   | 
|             interrupt-parent = <&gpx2>; | 
|             interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | 
|   | 
|             pinctrl-0 = <&max17042_fuel_irq>; | 
|             pinctrl-names = "default"; | 
|   | 
|             reg = <0x36>; | 
|             maxim,over-heat-temp = <700>; | 
|             maxim,over-volt = <4500>; | 
|         }; | 
|     }; | 
|   | 
|     spi-3 { | 
|         compatible = "spi-gpio"; | 
|         #address-cells = <1>; | 
|         #size-cells = <0>; | 
|   | 
|         num-chipselects = <1>; | 
|         cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>; | 
|         sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>; | 
|         mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>; | 
|   | 
|         lcd@0 { | 
|             compatible = "samsung,ld9040"; | 
|             reg = <0>; | 
|   | 
|             spi-max-frequency = <1200000>; | 
|   | 
|             vdd3-supply = <&vmipi_reg>; | 
|             vci-supply = <&vcclcd_reg>; | 
|   | 
|             reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; | 
|             power-on-delay = <10>; | 
|             reset-delay = <10>; | 
|   | 
|             panel-width-mm = <56>; | 
|             panel-height-mm = <93>; | 
|   | 
|             display-timings { | 
|                 timing { | 
|                     clock-frequency = <23492370>; | 
|                     hactive = <480>; | 
|                     vactive = <800>; | 
|                     hback-porch = <16>; | 
|                     hfront-porch = <16>; | 
|                     vback-porch = <2>; | 
|                     vfront-porch = <28>; | 
|                     hsync-len = <2>; | 
|                     vsync-len = <1>; | 
|                     hsync-active = <0>; | 
|                     vsync-active = <0>; | 
|                     de-active = <0>; | 
|                     pixelclk-active = <0>; | 
|                 }; | 
|             }; | 
|   | 
|             port { | 
|                 lcd_ep: endpoint { | 
|                     remote-endpoint = <&fimd_dpi_ep>; | 
|                 }; | 
|             }; | 
|         }; | 
|     }; | 
|   | 
|     fixed-rate-clocks { | 
|         xxti { | 
|             compatible = "samsung,clock-xxti"; | 
|             clock-frequency = <0>; | 
|         }; | 
|   | 
|         xusbxti { | 
|             compatible = "samsung,clock-xusbxti"; | 
|             clock-frequency = <24000000>; | 
|         }; | 
|   | 
|         pmic_ap_clk: pmic-ap-clk { | 
|             /* Workaround for missing clock on max8997 PMIC */ | 
|             compatible = "fixed-clock"; | 
|             #clock-cells = <0>; | 
|             clock-frequency = <32768>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &camera { | 
|     status = "okay"; | 
| }; | 
|   | 
| &cpu0 { | 
|     cpu0-supply = <&varm_breg>; | 
| }; | 
|   | 
| &cpu_thermal { | 
|     cooling-maps { | 
|         map0 { | 
|             /* Corresponds to 800MHz */ | 
|             cooling-device = <&cpu0 2 2>; | 
|         }; | 
|         map1 { | 
|             /* Corresponds to 200MHz */ | 
|             cooling-device = <&cpu0 4 4>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &ehci { | 
|     status = "okay"; | 
|   | 
|     phys = <&exynos_usbphy 1>; | 
|     phy-names = "host"; | 
| }; | 
|   | 
| &exynos_usbphy { | 
|     status = "okay"; | 
|   | 
|     vbus-supply = <&safe1_sreg>; | 
| }; | 
|   | 
| &fimc_0 { | 
|     status = "okay"; | 
|   | 
|     assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>; | 
|     assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
|     assigned-clock-rates = <0>, <160000000>; | 
| }; | 
|   | 
| &fimc_1 { | 
|     status = "okay"; | 
|   | 
|     assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>; | 
|     assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
|     assigned-clock-rates = <0>, <160000000>; | 
| }; | 
|   | 
| &fimc_2 { | 
|     status = "okay"; | 
|   | 
|     assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>; | 
|     assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
|     assigned-clock-rates = <0>, <160000000>; | 
| }; | 
|   | 
| &fimc_3 { | 
|     status = "okay"; | 
|   | 
|     assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>; | 
|     assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
|     assigned-clock-rates = <0>, <160000000>; | 
| }; | 
|   | 
| &fimd { | 
|     status = "okay"; | 
|     #address-cells = <1>; | 
|     #size-cells = <0>; | 
|   | 
|     samsung,invert-vden; | 
|     samsung,invert-vclk; | 
|   | 
|     pinctrl-0 = <&lcd_clk>, <&lcd_data24>; | 
|     pinctrl-names = "default"; | 
|   | 
|     port@3 { | 
|         reg = <3>; | 
|   | 
|         fimd_dpi_ep: endpoint { | 
|             remote-endpoint = <&lcd_ep>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &gpu { | 
|     status = "okay"; | 
|   | 
|     mali-supply = <&vg3d_breg>; | 
| }; | 
|   | 
| &hsotg { | 
|     status = "okay"; | 
|   | 
|     dr_mode = "otg"; | 
|     vusb_d-supply = <&vusb_reg>; | 
|     vusb_a-supply = <&vusbdac_reg>; | 
| }; | 
|   | 
| &i2c_3 { | 
|     status = "okay"; | 
|   | 
|     samsung,i2c-sda-delay = <100>; | 
|     samsung,i2c-slave-addr = <0x10>; | 
|     samsung,i2c-max-bus-freq = <100000>; | 
|   | 
|     pinctrl-0 = <&i2c3_bus>; | 
|     pinctrl-names = "default"; | 
|   | 
|     mxt224-touchscreen@4a { | 
|         compatible = "atmel,maxtouch"; | 
|         reg = <0x4a>; | 
|   | 
|         interrupt-parent = <&gpx0>; | 
|         interrupts = <4 IRQ_TYPE_EDGE_FALLING>; | 
|     }; | 
| }; | 
|   | 
| &i2c_5 { | 
|     status = "okay"; | 
|   | 
|     samsung,i2c-sda-delay = <100>; | 
|     samsung,i2c-slave-addr = <0x10>; | 
|     samsung,i2c-max-bus-freq = <100000>; | 
|   | 
|     pinctrl-0 = <&i2c5_bus>; | 
|     pinctrl-names = "default"; | 
|   | 
|     max8997_pmic@66 { | 
|         compatible = "maxim,max8997-pmic"; | 
|         reg = <0x66>; | 
|   | 
|         interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>, | 
|                       <&gpx2 3 IRQ_TYPE_EDGE_FALLING>; | 
|   | 
|         max8997,pmic-buck1-uses-gpio-dvs; | 
|         max8997,pmic-buck2-uses-gpio-dvs; | 
|         max8997,pmic-buck5-uses-gpio-dvs; | 
|   | 
|         max8997,pmic-ignore-gpiodvs-side-effect; | 
|         max8997,pmic-buck125-default-dvs-idx = <0>; | 
|   | 
|         max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, | 
|                          <&gpx0 6 GPIO_ACTIVE_HIGH>, | 
|                          <&gpl0 0 GPIO_ACTIVE_HIGH>; | 
|   | 
|         max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, | 
|                          <1250000>, <1200000>, | 
|                          <1150000>, <1100000>, | 
|                          <1000000>, <950000>; | 
|   | 
|         max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, | 
|                          <950000>,  <900000>, | 
|                          <1100000>, <1000000>, | 
|                          <950000>,  <900000>; | 
|   | 
|         max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, | 
|                          <1200000>, <1200000>, | 
|                          <1200000>, <1200000>, | 
|                          <1200000>, <1200000>; | 
|   | 
|         pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>; | 
|         pinctrl-names = "default"; | 
|   | 
|         regulators { | 
|             vadc_reg: LDO1 { | 
|                 regulator-name = "VADC_3.3V_C210"; | 
|                 regulator-min-microvolt = <3300000>; | 
|                 regulator-max-microvolt = <3300000>; | 
|                 regulator-always-on; | 
|   | 
|             }; | 
|             valive_reg: LDO2 { | 
|                 regulator-name = "VALIVE_1.1V_C210"; | 
|                 regulator-min-microvolt = <1100000>; | 
|                 regulator-max-microvolt = <1100000>; | 
|                 regulator-always-on; | 
|   | 
|             }; | 
|   | 
|             vusb_reg: LDO3 { | 
|                 regulator-name = "VUSB_1.1V_C210"; | 
|                 regulator-min-microvolt = <1100000>; | 
|                 regulator-max-microvolt = <1100000>; | 
|             }; | 
|   | 
|             vmipi_reg: LDO4 { | 
|                 regulator-name = "VMIPI_1.8V"; | 
|                 regulator-min-microvolt = <1800000>; | 
|                 regulator-max-microvolt = <1800000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vhsic_reg: LDO5 { | 
|                 regulator-name = "VHSIC_1.2V"; | 
|                 regulator-min-microvolt = <1200000>; | 
|                 regulator-max-microvolt = <1200000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vpda_reg: LDO6 { | 
|                 regulator-name = "VCC_1.8V_PDA"; | 
|                 regulator-min-microvolt = <1800000>; | 
|                 regulator-max-microvolt = <1800000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vcam_reg: LDO7 { | 
|                 regulator-name = "CAM_ISP_1.8V"; | 
|                 regulator-min-microvolt = <1800000>; | 
|                 regulator-max-microvolt = <1800000>; | 
|             }; | 
|   | 
|             vusbdac_reg: LDO8 { | 
|                 regulator-name = "VUSB+VDAC_3.3V_C210"; | 
|                 regulator-min-microvolt = <3300000>; | 
|                 regulator-max-microvolt = <3300000>; | 
|             }; | 
|   | 
|             vccpda_reg: LDO9 { | 
|                 regulator-name = "VCC_2.8V_PDA"; | 
|                 regulator-min-microvolt = <2800000>; | 
|                 regulator-max-microvolt = <2800000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vtouch_reg: LDO11 { | 
|                 regulator-name = "TOUCH_2.8V"; | 
|                 regulator-min-microvolt = <2800000>; | 
|                 regulator-max-microvolt = <2800000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vpll_reg: LDO10 { | 
|                 regulator-name = "VPLL_1.1V"; | 
|                 regulator-min-microvolt = <1100000>; | 
|                 regulator-max-microvolt = <1100000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vtcam_reg: LDO12 { | 
|                 regulator-name = "VT_CAM_1.8V"; | 
|                 regulator-min-microvolt = <1800000>; | 
|                 regulator-max-microvolt = <1800000>; | 
|             }; | 
|   | 
|             vcclcd_reg: LDO13 { | 
|                 regulator-name = "VCC_3.0V_LCD"; | 
|                 regulator-min-microvolt = <3000000>; | 
|                 regulator-max-microvolt = <3000000>; | 
|             }; | 
|   | 
|             vmotor_reg: LDO14 { | 
|                 regulator-name = "VCC_2.8V_MOTOR"; | 
|                 regulator-min-microvolt = <2800000>; | 
|                 regulator-max-microvolt = <2800000>; | 
|             }; | 
|   | 
|             vled_reg: LDO15 { | 
|                 regulator-name = "LED_A_2.8V"; | 
|                 regulator-min-microvolt = <2800000>; | 
|                 regulator-max-microvolt = <2800000>; | 
|             }; | 
|   | 
|             camsensor_reg: LDO16 { | 
|                 regulator-name = "CAM_SENSOR_IO_1.8V"; | 
|                 regulator-min-microvolt = <1800000>; | 
|                 regulator-max-microvolt = <1800000>; | 
|             }; | 
|   | 
|             vtf_reg: LDO17 { | 
|                 regulator-name = "VTF_2.8V"; | 
|                 regulator-min-microvolt = <2800000>; | 
|                 regulator-max-microvolt = <2800000>; | 
|             }; | 
|   | 
|             vtouchled_reg: LDO18 { | 
|                 regulator-name = "TOUCH_LED_3.3V"; | 
|                 regulator-min-microvolt = <2500000>; | 
|                 regulator-max-microvolt = <3300000>; | 
|             }; | 
|   | 
|             vddq_reg: LDO21 { | 
|                 regulator-name = "VDDQ_M1M2_1.2V"; | 
|                 regulator-min-microvolt = <1200000>; | 
|                 regulator-max-microvolt = <1200000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             varm_breg: BUCK1 { | 
|                 regulator-name = "VARM_1.2V_C210"; | 
|                 regulator-min-microvolt = <65000>; | 
|                 regulator-max-microvolt = <2225000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vint_breg: BUCK2 { | 
|                 regulator-name = "VINT_1.1V_C210"; | 
|                 regulator-min-microvolt = <65000>; | 
|                 regulator-max-microvolt = <2225000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vg3d_breg: BUCK3 { | 
|                 regulator-name = "G3D_1.1V"; | 
|                 regulator-min-microvolt = <900000>; | 
|                 regulator-max-microvolt = <1200000>; | 
|                 regulator-microvolt-offset = <50000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             camisp_breg: BUCK4 { | 
|                 regulator-name = "CAM_ISP_CORE_1.2V"; | 
|                 regulator-min-microvolt = <1200000>; | 
|                 regulator-max-microvolt = <1200000>; | 
|             }; | 
|   | 
|             vmem_breg: BUCK5 { | 
|                 regulator-name = "VMEM_1.2V"; | 
|                 regulator-min-microvolt = <1200000>; | 
|                 regulator-max-microvolt = <1200000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             vccsub_breg: BUCK7 { | 
|                 regulator-name = "VCC_SUB_2.0V"; | 
|                 regulator-min-microvolt = <2000000>; | 
|                 regulator-max-microvolt = <2000000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             safe1_sreg: ESAFEOUT1 { | 
|                 regulator-name = "SAFEOUT1"; | 
|             }; | 
|   | 
|             safe2_sreg: ESAFEOUT2 { | 
|                 regulator-name = "SAFEOUT2"; | 
|                 regulator-boot-on; | 
|             }; | 
|   | 
|             charger_reg: CHARGER { | 
|                 regulator-name = "CHARGER"; | 
|                 regulator-min-microamp = <60000>; | 
|                 regulator-max-microamp = <2580000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             chargercv_reg: CHARGER_CV { | 
|                 regulator-name = "CHARGER_CV"; | 
|                 regulator-min-microvolt = <3800000>; | 
|                 regulator-max-microvolt = <4100000>; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             EN32KHZ_AP { | 
|                 regulator-name = "EN32KHZ_AP"; | 
|                 regulator-always-on; | 
|             }; | 
|   | 
|             EN32KHZ_CP { | 
|                 regulator-name = "EN32KHZ_CP"; | 
|                 regulator-always-on; | 
|             }; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &i2c_7 { | 
|     status = "okay"; | 
|   | 
|     samsung,i2c-sda-delay = <100>; | 
|     samsung,i2c-slave-addr = <0x10>; | 
|     samsung,i2c-max-bus-freq = <400000>; | 
|   | 
|     pinctrl-0 = <&i2c7_bus>; | 
|     pinctrl-names = "default"; | 
|   | 
|     ak8975@c { | 
|         compatible = "asahi-kasei,ak8975"; | 
|         reg = <0x0c>; | 
|   | 
|         gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>; | 
|     }; | 
| }; | 
|   | 
| &pinctrl_0 { | 
|     pinctrl-names = "default"; | 
|     pinctrl-0 = <&sleep0>; | 
|   | 
|     sleep0: sleep-states { | 
|         gpa0-0 { | 
|             samsung,pins = "gpa0-0"; | 
|             samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; | 
|             samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | 
|         }; | 
|   | 
|         gpa0-1 { | 
|             samsung,pins = "gpa0-1"; | 
|             samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>; | 
|             samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | 
|         }; | 
|   | 
|         gpa0-2 { | 
|             samsung,pins = "gpa0-2"; | 
|             samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; | 
|             samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | 
|         }; | 
|   | 
|         gpa0-3 { | 
|             samsung,pins = "gpa0-3"; | 
|             samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>; | 
|             samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | 
|         }; | 
|     }; | 
| }; | 
|   | 
| &pinctrl_1 { | 
|     mhl_int: mhl-int { | 
|         samsung,pins = "gpf3-5"; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|     }; | 
|   | 
|     i2c_mhl_bus: i2c-mhl-bus { | 
|         samsung,pins = "gpf0-4", "gpf0-6"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_2>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; | 
|         samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | 
|     }; | 
|   | 
|     usb_sel: usb-sel { | 
|         samsung,pins = "gpl0-6"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|         samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | 
|         samsung,pin-val = <0>; | 
|     }; | 
|   | 
|     bt_en: bt-en { | 
|         samsung,pins = "gpl0-4"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|         samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; | 
|         samsung,pin-val = <0>; | 
|     }; | 
|   | 
|     bt_res: bt-res { | 
|         samsung,pins = "gpl1-0"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|         samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; | 
|         samsung,pin-val = <0>; | 
|     }; | 
|   | 
|     otg_gp: otg-gp { | 
|         samsung,pins = "gpx3-3"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|         samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | 
|         samsung,pin-val = <0>; | 
|     }; | 
|   | 
|     mag_mhl_gpio: mag-mhl { | 
|         samsung,pins = "gpd0-2"; | 
|         samsung,pin-function = <EXYNOS_PIN_FUNC_3>; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|     }; | 
|   | 
|     max8997_irq: max8997-irq { | 
|         samsung,pins = "gpx0-7"; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|     }; | 
|   | 
|     max17042_fuel_irq: max17042-fuel-irq { | 
|         samsung,pins = "gpx2-3"; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | 
|     }; | 
|   | 
|     tsp224_irq: tsp224-irq { | 
|         samsung,pins = "gpx0-4"; | 
|         samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; | 
|     }; | 
| }; | 
|   | 
| &rtc { | 
|     status = "okay"; | 
|     clocks = <&clock CLK_RTC>, <&pmic_ap_clk>; | 
|     clock-names = "rtc", "rtc_src"; | 
| }; | 
|   | 
| &sdhci_0 { | 
|     status = "okay"; | 
|   | 
|     bus-width = <8>; | 
|     non-removable; | 
|     vmmc-supply = <&vemmc_reg>; | 
|   | 
|     pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>; | 
|     pinctrl-names = "default"; | 
| }; | 
|   | 
| &sdhci_2 { | 
|     status = "okay"; | 
|   | 
|     bus-width = <4>; | 
|     cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; | 
|     vmmc-supply = <&vtf_reg>; | 
|   | 
|     pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>; | 
|     pinctrl-names = "default"; | 
| }; | 
|   | 
| &sdhci_3 { | 
|     status = "okay"; | 
|   | 
|     #address-cells = <1>; | 
|     #size-cells = <0>; | 
|   | 
|     non-removable; | 
|     bus-width = <4>; | 
|     mmc-pwrseq = <&wlan_pwrseq>; | 
|     vmmc-supply = <&vtf_reg>; | 
|   | 
|     pinctrl-names = "default"; | 
|     pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>; | 
|   | 
|     brcmf: wifi@1 { | 
|         compatible = "brcm,bcm4330-fmac"; | 
|         reg = <1>; | 
|   | 
|         interrupt-parent = <&gpx2>; | 
|         interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; | 
|         interrupt-names = "host-wake"; | 
|     }; | 
| }; | 
|   | 
| &serial_0 { | 
|     status = "okay"; | 
|   | 
|     pinctrl-names = "default"; | 
|     pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>; | 
|   | 
|     bluetooth { | 
|         compatible = "brcm,bcm4330-bt"; | 
|   | 
|         shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>; | 
|         reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>; | 
|         device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>; | 
|         host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>; | 
|     }; | 
| }; | 
|   | 
| &serial_1 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &serial_2 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &serial_3 { | 
|     status = "okay"; | 
| }; | 
|   | 
| &tmu { | 
|     status = "okay"; | 
| }; |