// SPDX-License-Identifier: GPL-2.0 /* * WinLink E850-96 board device tree source * * Copyright (C) 2018 Samsung Electronics Co., Ltd. * Copyright (C) 2021 Linaro Ltd. * * Device tree source file for WinLink's E850-96 board which is based on * Samsung Exynos850 SoC. */ /dts-v1/; #include "exynos850.dtsi" #include #include #include / { model = "WinLink E850-96 board"; compatible = "winlink,e850-96", "samsung,exynos850"; chosen { stdout-path = &serial_0; }; /* * RAM: 4 GiB (eMCP): * - 2 GiB at 0x80000000 * - 2 GiB at 0x880000000 * * 0xbab00000..0xbfffffff: secure memory (85 MiB). */ memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x3ab00000>, <0x0 0xc0000000 0x40000000>, <0x8 0x80000000 0x80000000>; }; gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_voldown_pins &key_volup_pins>; volume-down-key { label = "Volume Down"; linux,code = ; gpios = <&gpa1 0 GPIO_ACTIVE_LOW>; }; volume-up-key { label = "Volume Up"; linux,code = ; gpios = <&gpa0 7 GPIO_ACTIVE_LOW>; }; }; leds { compatible = "gpio-leds"; /* HEART_BEAT_LED */ user_led1: led-1 { label = "yellow:user1"; gpios = <&gpg2 2 GPIO_ACTIVE_HIGH>; color = ; function = LED_FUNCTION_HEARTBEAT; linux,default-trigger = "heartbeat"; }; /* eMMC_LED */ user_led2: led-2 { label = "yellow:user2"; gpios = <&gpg2 3 GPIO_ACTIVE_HIGH>; color = ; linux,default-trigger = "mmc0"; }; /* SD_LED */ user_led3: led-3 { label = "white:user3"; gpios = <&gpg2 4 GPIO_ACTIVE_HIGH>; color = ; function = LED_FUNCTION_SD; linux,default-trigger = "mmc2"; }; /* WIFI_LED */ wlan_active_led: led-4 { label = "yellow:wlan"; gpios = <&gpg2 6 GPIO_ACTIVE_HIGH>; color = ; function = LED_FUNCTION_WLAN; linux,default-trigger = "phy0tx"; default-state = "off"; }; /* BLUETOOTH_LED */ bt_active_led: led-5 { label = "blue:bt"; gpios = <&gpg2 7 GPIO_ACTIVE_HIGH>; color = ; function = LED_FUNCTION_BLUETOOTH; linux,default-trigger = "hci0rx"; default-state = "off"; }; }; /* * RTC clock (XrtcXTI); external, must be 32.768 kHz. * * TODO: Remove this once RTC clock is implemented properly as part of * PMIC driver. */ rtcclk: clock-rtcclk { compatible = "fixed-clock"; clock-output-names = "rtcclk"; #clock-cells = <0>; clock-frequency = <32768>; }; }; &cmu_hsi { clocks = <&oscclk>, <&rtcclk>, <&cmu_top CLK_DOUT_HSI_BUS>, <&cmu_top CLK_DOUT_HSI_MMC_CARD>, <&cmu_top CLK_DOUT_HSI_USB20DRD>; clock-names = "oscclk", "rtcclk", "dout_hsi_bus", "dout_hsi_mmc_card", "dout_hsi_usb20drd"; }; &mmc_0 { status = "okay"; mmc-hs200-1_8v; mmc-hs400-1_8v; cap-mmc-highspeed; non-removable; mmc-hs400-enhanced-strobe; card-detect-delay = <200>; clock-frequency = <800000000>; bus-width = <8>; samsung,dw-mshc-ciu-div = <3>; samsung,dw-mshc-sdr-timing = <0 4>; samsung,dw-mshc-ddr-timing = <2 4>; samsung,dw-mshc-hs400-timing = <0 2>; pinctrl-names = "default"; pinctrl-0 = <&sd0_clk_pins &sd0_cmd_pins &sd0_rdqs_pins &sd0_nreset_pins &sd0_bus1_pins &sd0_bus4_pins &sd0_bus8_pins>; }; &oscclk { clock-frequency = <26000000>; }; &pinctrl_alive { key_voldown_pins: key-voldown-pins { samsung,pins = "gpa1-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_volup_pins: key-volup-pins { samsung,pins = "gpa0-7"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; }; &rtc { status = "okay"; clocks = <&cmu_apm CLK_GOUT_RTC_PCLK>, <&rtcclk>; clock-names = "rtc", "rtc_src"; }; &serial_0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; }; &usi_uart { samsung,clkreq-on; /* needed for UART mode */ status = "okay"; }; &watchdog_cl0 { status = "okay"; }; &watchdog_cl1 { status = "okay"; };