1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * TOPEET's Exynos4412 based itop board device tree source 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (c) 2016 SUMOMO Computer Association 6*724ba675SRob Herring * https://www.sumomo.mobi 7*724ba675SRob Herring * Randy Li <ayaka@soulik.info> 8*724ba675SRob Herring * 9*724ba675SRob Herring * Device tree source file for TOPEET iTop Exynos 4412 core board 10*724ba675SRob Herring * which is based on Samsung's Exynos4412 SoC. 11*724ba675SRob Herring */ 12*724ba675SRob Herring 13*724ba675SRob Herring/dts-v1/; 14*724ba675SRob Herring#include <dt-bindings/leds/common.h> 15*724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 16*724ba675SRob Herring#include <dt-bindings/sound/samsung-i2s.h> 17*724ba675SRob Herring#include "exynos4412-itop-scp-core.dtsi" 18*724ba675SRob Herring 19*724ba675SRob Herring/ { 20*724ba675SRob Herring model = "TOPEET iTop 4412 Elite board based on Exynos4412"; 21*724ba675SRob Herring compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4"; 22*724ba675SRob Herring 23*724ba675SRob Herring aliases { 24*724ba675SRob Herring mmc1 = &sdhci_2; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring chosen { 28*724ba675SRob Herring bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootdelay=1 rootwait"; 29*724ba675SRob Herring stdout-path = "serial2:115200n8"; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring leds { 33*724ba675SRob Herring compatible = "gpio-leds"; 34*724ba675SRob Herring 35*724ba675SRob Herring led2 { 36*724ba675SRob Herring function = LED_FUNCTION_HEARTBEAT; 37*724ba675SRob Herring color = <LED_COLOR_ID_RED>; 38*724ba675SRob Herring gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>; 39*724ba675SRob Herring default-state = "off"; 40*724ba675SRob Herring linux,default-trigger = "heartbeat"; 41*724ba675SRob Herring }; 42*724ba675SRob Herring 43*724ba675SRob Herring led3 { 44*724ba675SRob Herring label = "red:user"; 45*724ba675SRob Herring color = <LED_COLOR_ID_RED>; 46*724ba675SRob Herring gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>; 47*724ba675SRob Herring default-state = "off"; 48*724ba675SRob Herring }; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring gpio-keys { 52*724ba675SRob Herring compatible = "gpio-keys"; 53*724ba675SRob Herring 54*724ba675SRob Herring key-home { 55*724ba675SRob Herring label = "GPIO Key Home"; 56*724ba675SRob Herring linux,code = <KEY_HOME>; 57*724ba675SRob Herring gpios = <&gpx1 1 GPIO_ACTIVE_LOW>; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring key-back { 61*724ba675SRob Herring label = "GPIO Key Back"; 62*724ba675SRob Herring linux,code = <KEY_BACK>; 63*724ba675SRob Herring gpios = <&gpx1 2 GPIO_ACTIVE_LOW>; 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring key-sleep { 67*724ba675SRob Herring label = "GPIO Key Sleep"; 68*724ba675SRob Herring linux,code = <KEY_POWER>; 69*724ba675SRob Herring gpios = <&gpx3 3 GPIO_ACTIVE_LOW>; 70*724ba675SRob Herring }; 71*724ba675SRob Herring 72*724ba675SRob Herring key-vol-up { 73*724ba675SRob Herring label = "GPIO Key Vol+"; 74*724ba675SRob Herring linux,code = <KEY_UP>; 75*724ba675SRob Herring gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 76*724ba675SRob Herring }; 77*724ba675SRob Herring 78*724ba675SRob Herring key-vol-down { 79*724ba675SRob Herring label = "GPIO Key Vol-"; 80*724ba675SRob Herring linux,code = <KEY_DOWN>; 81*724ba675SRob Herring gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 82*724ba675SRob Herring }; 83*724ba675SRob Herring }; 84*724ba675SRob Herring 85*724ba675SRob Herring sound { 86*724ba675SRob Herring compatible = "simple-audio-card"; 87*724ba675SRob Herring simple-audio-card,name = "wm-sound"; 88*724ba675SRob Herring 89*724ba675SRob Herring simple-audio-card,format = "i2s"; 90*724ba675SRob Herring simple-audio-card,bitclock-master = <&link0_codec>; 91*724ba675SRob Herring simple-audio-card,frame-master = <&link0_codec>; 92*724ba675SRob Herring 93*724ba675SRob Herring simple-audio-card,widgets = 94*724ba675SRob Herring "Microphone", "Mic Jack", 95*724ba675SRob Herring "Line", "Line In", 96*724ba675SRob Herring "Line", "Line Out", 97*724ba675SRob Herring "Speaker", "Speaker", 98*724ba675SRob Herring "Headphone", "Headphone Jack"; 99*724ba675SRob Herring simple-audio-card,routing = 100*724ba675SRob Herring "Headphone Jack", "HP_L", 101*724ba675SRob Herring "Headphone Jack", "HP_R", 102*724ba675SRob Herring "Speaker", "SPK_LP", 103*724ba675SRob Herring "Speaker", "SPK_LN", 104*724ba675SRob Herring "Speaker", "SPK_RP", 105*724ba675SRob Herring "Speaker", "SPK_RN", 106*724ba675SRob Herring "LINPUT1", "Mic Jack", 107*724ba675SRob Herring "LINPUT3", "Mic Jack", 108*724ba675SRob Herring "RINPUT1", "Mic Jack", 109*724ba675SRob Herring "RINPUT2", "Mic Jack"; 110*724ba675SRob Herring 111*724ba675SRob Herring simple-audio-card,cpu { 112*724ba675SRob Herring sound-dai = <&i2s0 0>; 113*724ba675SRob Herring }; 114*724ba675SRob Herring 115*724ba675SRob Herring link0_codec: simple-audio-card,codec { 116*724ba675SRob Herring sound-dai = <&codec>; 117*724ba675SRob Herring clocks = <&i2s0 CLK_I2S_CDCLK>; 118*724ba675SRob Herring system-clock-frequency = <11289600>; 119*724ba675SRob Herring }; 120*724ba675SRob Herring }; 121*724ba675SRob Herring 122*724ba675SRob Herring beep { 123*724ba675SRob Herring compatible = "pwm-beeper"; 124*724ba675SRob Herring pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>; 125*724ba675SRob Herring }; 126*724ba675SRob Herring}; 127*724ba675SRob Herring 128*724ba675SRob Herring&adc { 129*724ba675SRob Herring vdd-supply = <&ldo3_reg>; 130*724ba675SRob Herring status = "okay"; 131*724ba675SRob Herring}; 132*724ba675SRob Herring 133*724ba675SRob Herring&camera { 134*724ba675SRob Herring pinctrl-0 = <&cam_port_a_clk_active>; 135*724ba675SRob Herring pinctrl-names = "default"; 136*724ba675SRob Herring status = "okay"; 137*724ba675SRob Herring assigned-clocks = <&clock CLK_MOUT_CAM0>; 138*724ba675SRob Herring assigned-clock-parents = <&clock CLK_XUSBXTI>; 139*724ba675SRob Herring}; 140*724ba675SRob Herring 141*724ba675SRob Herring&clock_audss { 142*724ba675SRob Herring assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, 143*724ba675SRob Herring <&clock_audss EXYNOS_MOUT_I2S>, 144*724ba675SRob Herring <&clock_audss EXYNOS_DOUT_SRP>, 145*724ba675SRob Herring <&clock_audss EXYNOS_DOUT_AUD_BUS>; 146*724ba675SRob Herring assigned-clock-parents = <&clock CLK_FOUT_EPLL>, 147*724ba675SRob Herring <&clock_audss EXYNOS_MOUT_AUDSS>; 148*724ba675SRob Herring assigned-clock-rates = <0>, <0>, <112896000>, <11289600>; 149*724ba675SRob Herring}; 150*724ba675SRob Herring 151*724ba675SRob Herring&ehci { 152*724ba675SRob Herring status = "okay"; 153*724ba675SRob Herring /* In order to reset USB ethernet */ 154*724ba675SRob Herring samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>; 155*724ba675SRob Herring 156*724ba675SRob Herring phys = <&exynos_usbphy 1>, <&exynos_usbphy 3>; 157*724ba675SRob Herring phy-names = "host", "hsic1"; 158*724ba675SRob Herring}; 159*724ba675SRob Herring 160*724ba675SRob Herring&exynos_usbphy { 161*724ba675SRob Herring status = "okay"; 162*724ba675SRob Herring}; 163*724ba675SRob Herring 164*724ba675SRob Herring&fimc_0 { 165*724ba675SRob Herring status = "okay"; 166*724ba675SRob Herring assigned-clocks = <&clock CLK_MOUT_FIMC0>, 167*724ba675SRob Herring <&clock CLK_SCLK_FIMC0>; 168*724ba675SRob Herring assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 169*724ba675SRob Herring assigned-clock-rates = <0>, <176000000>; 170*724ba675SRob Herring}; 171*724ba675SRob Herring 172*724ba675SRob Herring&hsotg { 173*724ba675SRob Herring dr_mode = "peripheral"; 174*724ba675SRob Herring status = "okay"; 175*724ba675SRob Herring}; 176*724ba675SRob Herring 177*724ba675SRob Herring&i2c_4 { 178*724ba675SRob Herring samsung,i2c-sda-delay = <100>; 179*724ba675SRob Herring samsung,i2c-slave-addr = <0x10>; 180*724ba675SRob Herring samsung,i2c-max-bus-freq = <100000>; 181*724ba675SRob Herring pinctrl-0 = <&i2c4_bus>; 182*724ba675SRob Herring pinctrl-names = "default"; 183*724ba675SRob Herring status = "okay"; 184*724ba675SRob Herring 185*724ba675SRob Herring codec: audio-codec@1a { 186*724ba675SRob Herring compatible = "wlf,wm8960"; 187*724ba675SRob Herring reg = <0x1a>; 188*724ba675SRob Herring clocks = <&pmu_system_controller 0>; 189*724ba675SRob Herring clock-names = "mclk"; 190*724ba675SRob Herring wlf,shared-lrclk; 191*724ba675SRob Herring #sound-dai-cells = <0>; 192*724ba675SRob Herring }; 193*724ba675SRob Herring}; 194*724ba675SRob Herring 195*724ba675SRob Herring&i2s0 { 196*724ba675SRob Herring pinctrl-0 = <&i2s0_bus>; 197*724ba675SRob Herring pinctrl-names = "default"; 198*724ba675SRob Herring status = "okay"; 199*724ba675SRob Herring}; 200*724ba675SRob Herring 201*724ba675SRob Herring&pinctrl_1 { 202*724ba675SRob Herring ether-reset-pins { 203*724ba675SRob Herring samsung,pins = "gpc0-1"; 204*724ba675SRob Herring samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 205*724ba675SRob Herring samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 206*724ba675SRob Herring samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 207*724ba675SRob Herring }; 208*724ba675SRob Herring}; 209*724ba675SRob Herring 210*724ba675SRob Herring&pwm { 211*724ba675SRob Herring status = "okay"; 212*724ba675SRob Herring pinctrl-0 = <&pwm0_out>; 213*724ba675SRob Herring pinctrl-names = "default"; 214*724ba675SRob Herring samsung,pwm-outputs = <0>; 215*724ba675SRob Herring}; 216*724ba675SRob Herring 217*724ba675SRob Herring&sdhci_2 { 218*724ba675SRob Herring bus-width = <4>; 219*724ba675SRob Herring pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; 220*724ba675SRob Herring pinctrl-names = "default"; 221*724ba675SRob Herring cd-gpios = <&gpx0 7 GPIO_ACTIVE_LOW>; 222*724ba675SRob Herring cap-sd-highspeed; 223*724ba675SRob Herring vmmc-supply = <&ldo23_reg>; 224*724ba675SRob Herring vqmmc-supply = <&ldo17_reg>; 225*724ba675SRob Herring status = "okay"; 226*724ba675SRob Herring}; 227*724ba675SRob Herring 228*724ba675SRob Herring&serial_1 { 229*724ba675SRob Herring status = "okay"; 230*724ba675SRob Herring}; 231*724ba675SRob Herring 232*724ba675SRob Herring&serial_2 { 233*724ba675SRob Herring status = "okay"; 234*724ba675SRob Herring}; 235