1// SPDX-License-Identifier: GPL-2.0 2/* 3 * WinLink E850-96 board device tree source 4 * 5 * Copyright (C) 2018 Samsung Electronics Co., Ltd. 6 * Copyright (C) 2021 Linaro Ltd. 7 * 8 * Device tree source file for WinLink's E850-96 board which is based on 9 * Samsung Exynos850 SoC. 10 */ 11 12/dts-v1/; 13 14#include "exynos850.dtsi" 15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/input/input.h> 17#include <dt-bindings/leds/common.h> 18 19/ { 20 model = "WinLink E850-96 board"; 21 compatible = "winlink,e850-96", "samsung,exynos850"; 22 23 chosen { 24 stdout-path = &serial_0; 25 }; 26 27 /* 28 * RAM: 4 GiB (eMCP): 29 * - 2 GiB at 0x80000000 30 * - 2 GiB at 0x880000000 31 * 32 * 0xbab00000..0xbfffffff: secure memory (85 MiB). 33 */ 34 memory@80000000 { 35 device_type = "memory"; 36 reg = <0x0 0x80000000 0x3ab00000>, 37 <0x0 0xc0000000 0x40000000>, 38 <0x8 0x80000000 0x80000000>; 39 }; 40 41 gpio-keys { 42 compatible = "gpio-keys"; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&key_voldown_pins &key_volup_pins>; 45 46 volume-down-key { 47 label = "Volume Down"; 48 linux,code = <KEY_VOLUMEDOWN>; 49 gpios = <&gpa1 0 GPIO_ACTIVE_LOW>; 50 }; 51 52 volume-up-key { 53 label = "Volume Up"; 54 linux,code = <KEY_VOLUMEUP>; 55 gpios = <&gpa0 7 GPIO_ACTIVE_LOW>; 56 }; 57 }; 58 59 leds { 60 compatible = "gpio-leds"; 61 62 /* HEART_BEAT_LED */ 63 user_led1: led-1 { 64 label = "yellow:user1"; 65 gpios = <&gpg2 2 GPIO_ACTIVE_HIGH>; 66 color = <LED_COLOR_ID_YELLOW>; 67 function = LED_FUNCTION_HEARTBEAT; 68 linux,default-trigger = "heartbeat"; 69 }; 70 71 /* eMMC_LED */ 72 user_led2: led-2 { 73 label = "yellow:user2"; 74 gpios = <&gpg2 3 GPIO_ACTIVE_HIGH>; 75 color = <LED_COLOR_ID_YELLOW>; 76 linux,default-trigger = "mmc0"; 77 }; 78 79 /* SD_LED */ 80 user_led3: led-3 { 81 label = "white:user3"; 82 gpios = <&gpg2 4 GPIO_ACTIVE_HIGH>; 83 color = <LED_COLOR_ID_WHITE>; 84 function = LED_FUNCTION_SD; 85 linux,default-trigger = "mmc2"; 86 }; 87 88 /* WIFI_LED */ 89 wlan_active_led: led-4 { 90 label = "yellow:wlan"; 91 gpios = <&gpg2 6 GPIO_ACTIVE_HIGH>; 92 color = <LED_COLOR_ID_YELLOW>; 93 function = LED_FUNCTION_WLAN; 94 linux,default-trigger = "phy0tx"; 95 default-state = "off"; 96 }; 97 98 /* BLUETOOTH_LED */ 99 bt_active_led: led-5 { 100 label = "blue:bt"; 101 gpios = <&gpg2 7 GPIO_ACTIVE_HIGH>; 102 color = <LED_COLOR_ID_BLUE>; 103 function = LED_FUNCTION_BLUETOOTH; 104 linux,default-trigger = "hci0rx"; 105 default-state = "off"; 106 }; 107 }; 108 109 /* 110 * RTC clock (XrtcXTI); external, must be 32.768 kHz. 111 * 112 * TODO: Remove this once RTC clock is implemented properly as part of 113 * PMIC driver. 114 */ 115 rtcclk: clock-rtcclk { 116 compatible = "fixed-clock"; 117 clock-output-names = "rtcclk"; 118 #clock-cells = <0>; 119 clock-frequency = <32768>; 120 }; 121}; 122 123&cmu_hsi { 124 clocks = <&oscclk>, <&rtcclk>, 125 <&cmu_top CLK_DOUT_HSI_BUS>, 126 <&cmu_top CLK_DOUT_HSI_MMC_CARD>, 127 <&cmu_top CLK_DOUT_HSI_USB20DRD>; 128 clock-names = "oscclk", "rtcclk", "dout_hsi_bus", 129 "dout_hsi_mmc_card", "dout_hsi_usb20drd"; 130}; 131 132&mmc_0 { 133 status = "okay"; 134 mmc-hs200-1_8v; 135 mmc-hs400-1_8v; 136 cap-mmc-highspeed; 137 non-removable; 138 mmc-hs400-enhanced-strobe; 139 card-detect-delay = <200>; 140 clock-frequency = <800000000>; 141 bus-width = <8>; 142 samsung,dw-mshc-ciu-div = <3>; 143 samsung,dw-mshc-sdr-timing = <0 4>; 144 samsung,dw-mshc-ddr-timing = <2 4>; 145 samsung,dw-mshc-hs400-timing = <0 2>; 146 147 pinctrl-names = "default"; 148 pinctrl-0 = <&sd0_clk_pins &sd0_cmd_pins &sd0_rdqs_pins &sd0_nreset_pins 149 &sd0_bus1_pins &sd0_bus4_pins &sd0_bus8_pins>; 150}; 151 152&oscclk { 153 clock-frequency = <26000000>; 154}; 155 156&pinctrl_alive { 157 key_voldown_pins: key-voldown-pins { 158 samsung,pins = "gpa1-0"; 159 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 160 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 161 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 162 }; 163 164 key_volup_pins: key-volup-pins { 165 samsung,pins = "gpa0-7"; 166 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 167 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 168 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 169 }; 170}; 171 172&rtc { 173 status = "okay"; 174 clocks = <&cmu_apm CLK_GOUT_RTC_PCLK>, <&rtcclk>; 175 clock-names = "rtc", "rtc_src"; 176}; 177 178&serial_0 { 179 status = "okay"; 180 pinctrl-names = "default"; 181 pinctrl-0 = <&uart1_pins>; 182}; 183 184&usi_uart { 185 samsung,clkreq-on; /* needed for UART mode */ 186 status = "okay"; 187}; 188 189&watchdog_cl0 { 190 status = "okay"; 191}; 192 193&watchdog_cl1 { 194 status = "okay"; 195}; 196