1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Samsung's Exynos4412 based Galaxy S3 board device tree source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2013 Samsung Electronics Co., Ltd. 6*4882a593Smuzhiyun * http://www.samsung.com 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/dts-v1/; 10*4882a593Smuzhiyun#include "exynos4412-midas.dtsi" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun aliases { 14*4882a593Smuzhiyun i2c9 = &i2c_ak8975; 15*4882a593Smuzhiyun i2c10 = &i2c_cm36651; 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun aat1290 { 19*4882a593Smuzhiyun compatible = "skyworks,aat1290"; 20*4882a593Smuzhiyun flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>; 21*4882a593Smuzhiyun enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun pinctrl-names = "default", "host", "isp"; 24*4882a593Smuzhiyun pinctrl-0 = <&camera_flash_host>; 25*4882a593Smuzhiyun pinctrl-1 = <&camera_flash_host>; 26*4882a593Smuzhiyun pinctrl-2 = <&camera_flash_isp>; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun flash-led { 29*4882a593Smuzhiyun label = "flash"; 30*4882a593Smuzhiyun led-max-microamp = <520833>; 31*4882a593Smuzhiyun flash-max-microamp = <1012500>; 32*4882a593Smuzhiyun flash-max-timeout-us = <1940000>; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun }; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun lcd_vdd3_reg: voltage-regulator-10 { 37*4882a593Smuzhiyun compatible = "regulator-fixed"; 38*4882a593Smuzhiyun regulator-name = "LCD_VDD_2.2V"; 39*4882a593Smuzhiyun regulator-min-microvolt = <2200000>; 40*4882a593Smuzhiyun regulator-max-microvolt = <2200000>; 41*4882a593Smuzhiyun gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>; 42*4882a593Smuzhiyun enable-active-high; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun ps_als_reg: voltage-regulator-11 { 46*4882a593Smuzhiyun compatible = "regulator-fixed"; 47*4882a593Smuzhiyun regulator-name = "LED_A_3.0V"; 48*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 49*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 50*4882a593Smuzhiyun gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>; 51*4882a593Smuzhiyun enable-active-high; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun i2c_ak8975: i2c-gpio-0 { 55*4882a593Smuzhiyun compatible = "i2c-gpio"; 56*4882a593Smuzhiyun sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 57*4882a593Smuzhiyun scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 58*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; 59*4882a593Smuzhiyun #address-cells = <1>; 60*4882a593Smuzhiyun #size-cells = <0>; 61*4882a593Smuzhiyun status = "okay"; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun ak8975@c { 64*4882a593Smuzhiyun compatible = "asahi-kasei,ak8975"; 65*4882a593Smuzhiyun reg = <0x0c>; 66*4882a593Smuzhiyun gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun i2c_cm36651: i2c-gpio-2 { 71*4882a593Smuzhiyun compatible = "i2c-gpio"; 72*4882a593Smuzhiyun sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 73*4882a593Smuzhiyun scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 74*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; 75*4882a593Smuzhiyun #address-cells = <1>; 76*4882a593Smuzhiyun #size-cells = <0>; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun cm36651@18 { 79*4882a593Smuzhiyun compatible = "capella,cm36651"; 80*4882a593Smuzhiyun reg = <0x18>; 81*4882a593Smuzhiyun interrupt-parent = <&gpx0>; 82*4882a593Smuzhiyun interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 83*4882a593Smuzhiyun vled-supply = <&ps_als_reg>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun}; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun&buck9_reg { 89*4882a593Smuzhiyun maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>; 90*4882a593Smuzhiyun}; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun&cam_af_reg { 93*4882a593Smuzhiyun gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>; 94*4882a593Smuzhiyun status = "okay"; 95*4882a593Smuzhiyun}; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun&cam_io_reg { 98*4882a593Smuzhiyun gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>; 99*4882a593Smuzhiyun status = "okay"; 100*4882a593Smuzhiyun}; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun&dsi_0 { 103*4882a593Smuzhiyun status = "okay"; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun panel@0 { 106*4882a593Smuzhiyun compatible = "samsung,s6e8aa0"; 107*4882a593Smuzhiyun reg = <0>; 108*4882a593Smuzhiyun vdd3-supply = <&lcd_vdd3_reg>; 109*4882a593Smuzhiyun vci-supply = <&ldo25_reg>; 110*4882a593Smuzhiyun reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>; 111*4882a593Smuzhiyun power-on-delay= <50>; 112*4882a593Smuzhiyun reset-delay = <100>; 113*4882a593Smuzhiyun init-delay = <100>; 114*4882a593Smuzhiyun flip-horizontal; 115*4882a593Smuzhiyun flip-vertical; 116*4882a593Smuzhiyun panel-width-mm = <58>; 117*4882a593Smuzhiyun panel-height-mm = <103>; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun display-timings { 120*4882a593Smuzhiyun timing-0 { 121*4882a593Smuzhiyun clock-frequency = <57153600>; 122*4882a593Smuzhiyun hactive = <720>; 123*4882a593Smuzhiyun vactive = <1280>; 124*4882a593Smuzhiyun hfront-porch = <5>; 125*4882a593Smuzhiyun hback-porch = <5>; 126*4882a593Smuzhiyun hsync-len = <5>; 127*4882a593Smuzhiyun vfront-porch = <13>; 128*4882a593Smuzhiyun vback-porch = <1>; 129*4882a593Smuzhiyun vsync-len = <2>; 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun}; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun&i2c_3 { 136*4882a593Smuzhiyun mms114-touchscreen@48 { 137*4882a593Smuzhiyun compatible = "melfas,mms114"; 138*4882a593Smuzhiyun reg = <0x48>; 139*4882a593Smuzhiyun interrupt-parent = <&gpm2>; 140*4882a593Smuzhiyun interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 141*4882a593Smuzhiyun touchscreen-size-x = <720>; 142*4882a593Smuzhiyun touchscreen-size-y = <1280>; 143*4882a593Smuzhiyun avdd-supply = <&ldo23_reg>; 144*4882a593Smuzhiyun vdd-supply = <&ldo24_reg>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun}; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun&ldo25_reg { 149*4882a593Smuzhiyun regulator-name = "LCD_VCC_3.3V"; 150*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 151*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 152*4882a593Smuzhiyun}; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun&pinctrl_0 { 155*4882a593Smuzhiyun camera_flash_host: camera-flash-host { 156*4882a593Smuzhiyun samsung,pins = "gpj1-0"; 157*4882a593Smuzhiyun samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 158*4882a593Smuzhiyun samsung,pin-val = <0>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun camera_flash_isp: camera-flash-isp { 162*4882a593Smuzhiyun samsung,pins = "gpj1-0"; 163*4882a593Smuzhiyun samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 164*4882a593Smuzhiyun samsung,pin-val = <1>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun}; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun&s5c73m3 { 169*4882a593Smuzhiyun standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */ 170*4882a593Smuzhiyun vdda-supply = <&ldo17_reg>; 171*4882a593Smuzhiyun status = "okay"; 172*4882a593Smuzhiyun}; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun&sound { 175*4882a593Smuzhiyun samsung,audio-routing = 176*4882a593Smuzhiyun "HP", "HPOUT1L", 177*4882a593Smuzhiyun "HP", "HPOUT1R", 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun "SPK", "SPKOUTLN", 180*4882a593Smuzhiyun "SPK", "SPKOUTLP", 181*4882a593Smuzhiyun "SPK", "SPKOUTRN", 182*4882a593Smuzhiyun "SPK", "SPKOUTRP", 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun "RCV", "HPOUT2N", 185*4882a593Smuzhiyun "RCV", "HPOUT2P", 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun "HDMI", "LINEOUT1N", 188*4882a593Smuzhiyun "HDMI", "LINEOUT1P", 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun "LINE", "LINEOUT2N", 191*4882a593Smuzhiyun "LINE", "LINEOUT2P", 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun "IN1LP", "MICBIAS1", 194*4882a593Smuzhiyun "IN1LN", "MICBIAS1", 195*4882a593Smuzhiyun "Main Mic", "MICBIAS1", 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun "IN1RP", "Sub Mic", 198*4882a593Smuzhiyun "IN1RN", "Sub Mic", 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun "IN2LP:VXRN", "MICBIAS2", 201*4882a593Smuzhiyun "Headset Mic", "MICBIAS2", 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun "IN2RN", "FM In", 204*4882a593Smuzhiyun "IN2RP:VXRP", "FM In"; 205*4882a593Smuzhiyun}; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun&submic_bias_reg { 208*4882a593Smuzhiyun gpio = <&gpf2 0 GPIO_ACTIVE_HIGH>; 209*4882a593Smuzhiyun enable-active-high; 210*4882a593Smuzhiyun}; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun&touchkey_reg { 213*4882a593Smuzhiyun gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>; 214*4882a593Smuzhiyun status = "okay"; 215*4882a593Smuzhiyun}; 216