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