| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * TOPEET's Exynos4412 based itop board device tree source |
| * |
| * Copyright (c) 2016 SUMOMO Computer Association |
| * https://www.sumomo.mobi |
| * Randy Li <ayaka@soulik.info> |
| * |
| * Device tree source file for TOPEET iTop Exynos 4412 core board |
| * which is based on Samsung's Exynos4412 SoC. |
| */ |
| |
| /dts-v1/; |
| #include <dt-bindings/pwm/pwm.h> |
| #include <dt-bindings/sound/samsung-i2s.h> |
| #include "exynos4412-itop-scp-core.dtsi" |
| |
| / { |
| model = "TOPEET iTop 4412 Elite board based on Exynos4412"; |
| compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4"; |
| |
| chosen { |
| bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootdelay=1 rootwait"; |
| stdout-path = "serial2:115200n8"; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| led2 { |
| label = "red:system"; |
| gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| linux,default-trigger = "heartbeat"; |
| }; |
| |
| led3 { |
| label = "red:user"; |
| gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| |
| home { |
| label = "GPIO Key Home"; |
| linux,code = <KEY_HOME>; |
| gpios = <&gpx1 1 GPIO_ACTIVE_LOW>; |
| }; |
| |
| back { |
| label = "GPIO Key Back"; |
| linux,code = <KEY_BACK>; |
| gpios = <&gpx1 2 GPIO_ACTIVE_LOW>; |
| }; |
| |
| sleep { |
| label = "GPIO Key Sleep"; |
| linux,code = <KEY_POWER>; |
| gpios = <&gpx3 3 GPIO_ACTIVE_LOW>; |
| }; |
| |
| vol-up { |
| label = "GPIO Key Vol+"; |
| linux,code = <KEY_UP>; |
| gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; |
| }; |
| |
| vol-down { |
| label = "GPIO Key Vol-"; |
| linux,code = <KEY_DOWN>; |
| gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| sound { |
| compatible = "simple-audio-card"; |
| simple-audio-card,name = "wm-sound"; |
| |
| simple-audio-card,format = "i2s"; |
| simple-audio-card,bitclock-master = <&link0_codec>; |
| simple-audio-card,frame-master = <&link0_codec>; |
| |
| simple-audio-card,widgets = |
| "Microphone", "Mic Jack", |
| "Line", "Line In", |
| "Line", "Line Out", |
| "Speaker", "Speaker", |
| "Headphone", "Headphone Jack"; |
| simple-audio-card,routing = |
| "Headphone Jack", "HP_L", |
| "Headphone Jack", "HP_R", |
| "Speaker", "SPK_LP", |
| "Speaker", "SPK_LN", |
| "Speaker", "SPK_RP", |
| "Speaker", "SPK_RN", |
| "LINPUT1", "Mic Jack", |
| "LINPUT3", "Mic Jack", |
| "RINPUT1", "Mic Jack", |
| "RINPUT2", "Mic Jack"; |
| |
| simple-audio-card,cpu { |
| sound-dai = <&i2s0 0>; |
| }; |
| |
| link0_codec: simple-audio-card,codec { |
| sound-dai = <&codec>; |
| clocks = <&i2s0 CLK_I2S_CDCLK>; |
| system-clock-frequency = <11289600>; |
| }; |
| }; |
| |
| beep { |
| compatible = "pwm-beeper"; |
| pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>; |
| }; |
| }; |
| |
| &adc { |
| vdd-supply = <&ldo3_reg>; |
| status = "okay"; |
| }; |
| |
| &camera { |
| pinctrl-0 = <&cam_port_a_clk_active>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| assigned-clocks = <&clock CLK_MOUT_CAM0>; |
| assigned-clock-parents = <&clock CLK_XUSBXTI>; |
| }; |
| |
| &clock_audss { |
| assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, |
| <&clock_audss EXYNOS_MOUT_I2S>, |
| <&clock_audss EXYNOS_DOUT_SRP>, |
| <&clock_audss EXYNOS_DOUT_AUD_BUS>; |
| assigned-clock-parents = <&clock CLK_FOUT_EPLL>, |
| <&clock_audss EXYNOS_MOUT_AUDSS>; |
| assigned-clock-rates = <0>, <0>, <112896000>, <11289600>; |
| }; |
| |
| &ehci { |
| status = "okay"; |
| /* In order to reset USB ethernet */ |
| samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>; |
| |
| port@0 { |
| status = "okay"; |
| }; |
| |
| port@2 { |
| status = "okay"; |
| }; |
| }; |
| |
| &exynos_usbphy { |
| status = "okay"; |
| }; |
| |
| &fimc_0 { |
| status = "okay"; |
| assigned-clocks = <&clock CLK_MOUT_FIMC0>, |
| <&clock CLK_SCLK_FIMC0>; |
| assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; |
| assigned-clock-rates = <0>, <176000000>; |
| }; |
| |
| &hsotg { |
| dr_mode = "peripheral"; |
| status = "okay"; |
| }; |
| |
| &i2c_4 { |
| samsung,i2c-sda-delay = <100>; |
| samsung,i2c-slave-addr = <0x10>; |
| samsung,i2c-max-bus-freq = <100000>; |
| pinctrl-0 = <&i2c4_bus>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| |
| codec: wm8960@1a { |
| compatible = "wlf,wm8960"; |
| reg = <0x1a>; |
| clocks = <&pmu_system_controller 0>; |
| clock-names = "MCLK1"; |
| wlf,shared-lrclk; |
| #sound-dai-cells = <0>; |
| }; |
| }; |
| |
| &i2s0 { |
| pinctrl-0 = <&i2s0_bus>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| }; |
| |
| &pinctrl_1 { |
| ether-reset { |
| samsung,pins = "gpc0-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; |
| }; |
| }; |
| |
| &pwm { |
| status = "okay"; |
| pinctrl-0 = <&pwm0_out>; |
| pinctrl-names = "default"; |
| samsung,pwm-outputs = <0>; |
| }; |
| |
| &sdhci_2 { |
| bus-width = <4>; |
| pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; |
| pinctrl-names = "default"; |
| cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>; |
| cap-sd-highspeed; |
| vmmc-supply = <&ldo23_reg>; |
| vqmmc-supply = <&ldo17_reg>; |
| status = "okay"; |
| }; |
| |
| &serial_1 { |
| status = "okay"; |
| }; |
| |
| &serial_2 { |
| status = "okay"; |
| }; |