lkml.org 
[lkml]   [2021]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 7/7] arm64: dts: exynos: Add initial E850-96 board support
    Date
    E850-96 is a 96boards development board manufactured by WinLink. It
    incorporates Samsung Exynos850 SoC, and is compatible with 96boards
    mezzanine boards [1], as it follows 96boards standards.

    This patch adds minimal support for E850-96 board. Next features are
    enabled in board dts file and verified with minimal BusyBox rootfs:

    * User buttons
    * LEDs
    * Serial console
    * Watchdog timers
    * RTC
    * eMMC

    [1] https://www.96boards.org/products/mezzanine/

    Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
    ---
    arch/arm64/boot/dts/exynos/Makefile | 3 +-
    .../boot/dts/exynos/exynos850-e850-96.dts | 157 ++++++++++++++++++
    2 files changed, 159 insertions(+), 1 deletion(-)
    create mode 100644 arch/arm64/boot/dts/exynos/exynos850-e850-96.dts

    diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
    index b41e86df0a84..803548ccc537 100644
    --- a/arch/arm64/boot/dts/exynos/Makefile
    +++ b/arch/arm64/boot/dts/exynos/Makefile
    @@ -3,4 +3,5 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \
    exynos5433-tm2.dtb \
    exynos5433-tm2e.dtb \
    exynos7-espresso.dtb \
    - exynosautov9-sadk.dtb
    + exynosautov9-sadk.dtb \
    + exynos850-e850-96.dtb
    diff --git a/arch/arm64/boot/dts/exynos/exynos850-e850-96.dts b/arch/arm64/boot/dts/exynos/exynos850-e850-96.dts
    new file mode 100644
    index 000000000000..fd611906d81c
    --- /dev/null
    +++ b/arch/arm64/boot/dts/exynos/exynos850-e850-96.dts
    @@ -0,0 +1,157 @@
    +// 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 <dt-bindings/gpio/gpio.h>
    +#include <dt-bindings/input/input.h>
    +
    +#define BOARD_ID 0x0
    +#define BOARD_REV 0x2
    +
    +/ {
    + model = "WinLink E850-96 board";
    + compatible = "winlink,e850-96", "samsung,exynos850";
    + board_id = <BOARD_ID>;
    + board_rev = <BOARD_REV>;
    +
    + chosen {
    + stdout-path = &serial_0;
    + };
    +
    + gpio-keys {
    + compatible = "gpio-keys";
    + pinctrl-names = "default";
    + pinctrl-0 = <&key_voldown_pins &key_volup_pins>;
    +
    + volume-down-key {
    + label = "Volume Down";
    + linux,code = <KEY_VOLUMEDOWN>;
    + gpios = <&gpa1 0 GPIO_ACTIVE_LOW>;
    + };
    +
    + volume-up-key {
    + label = "Volume Up";
    + linux,code = <KEY_VOLUMEUP>;
    + 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>;
    + linux,default-trigger = "heartbeat";
    + };
    +
    + /* eMMC_LED */
    + user_led2: led-2 {
    + label = "yellow:user2";
    + gpios = <&gpg2 3 GPIO_ACTIVE_HIGH>;
    + linux,default-trigger = "mmc0";
    + };
    +
    + /* SD_LED */
    + user_led3: led-3 {
    + label = "white:user3";
    + gpios = <&gpg2 4 GPIO_ACTIVE_HIGH>;
    + linux,default-trigger = "mmc2";
    + };
    +
    + /* WIFI_LED */
    + wlan_active_led: led-4 {
    + label = "yellow:wlan";
    + gpios = <&gpg2 6 GPIO_ACTIVE_HIGH>;
    + linux,default-trigger = "phy0tx";
    + default-state = "off";
    + };
    +
    + /* BLUETOOTH_LED */
    + bt_active_led: led-5 {
    + label = "blue:bt";
    + gpios = <&gpg2 7 GPIO_ACTIVE_HIGH>;
    + linux,default-trigger = "hci0rx";
    + default-state = "off";
    + };
    + };
    +};
    +
    +&oscclk {
    + clock-frequency = <26000000>;
    +};
    +
    +&rtcclk {
    + clock-frequency = <32768>;
    +};
    +
    +&usi_uart {
    + samsung,clkreq-on; /* needed for UART mode */
    + status = "okay";
    +};
    +
    +&serial_0 {
    + status = "okay";
    + pinctrl-names = "default";
    + pinctrl-0 = <&uart1_pins>;
    +};
    +
    +&watchdog_cl0 {
    + status = "okay";
    +};
    +
    +&watchdog_cl1 {
    + status = "okay";
    +};
    +
    +&rtc {
    + status = "okay";
    +};
    +
    +&mmc_0 {
    + status = "okay";
    + mmc-hs200-1_8v;
    + mmc-hs400-1_8v;
    + cap-mmc-highspeed;
    + non-removable;
    + broken-cd;
    + 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>;
    +};
    +
    +&pinctrl_alive {
    + key_voldown_pins: key-voldown-pins {
    + samsung,pins = "gpa1-0";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    +
    + key_volup_pins: key-volup-pins {
    + samsung,pins = "gpa0-7";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    +};
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-12-15 17:09    [W:4.417 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site