Commit b2f5da9dd0689a718bf0c9dbfa48fedfce0bb336

Authored by Jagan Teki
Committed by Kever Yang
1 parent adc91db0e6

rockchip: rk3399: Add Nanopi M4 board support

Add initial support for Nanopi M4 board.

Specification
- Rockchip RK3399
- Dual-Channel 4GB LPDDR3-1866
- SD card slot
- eMMC socket
- RTL8211E 1Gbps
- AP6356S WiFI/BT
- HDMI In/Out, DP, MIPI DSI/CSI
- USB 3.0 x4
- USB Type C power and data
- GPIO1, GPIO2 expansion ports
- DC5V/3A

Commit details of rk3399-nanopi-m4.dts sync from Linux 5.1-rc2:
"arm64: dts: rockchip: Refine nanopi4 differences"
(sha1: c62ffaf5026d0b7633e62b2cea8450b5543c349a)

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Showing 6 changed files with 141 additions and 0 deletions Side-by-side Diff

arch/arm/dts/Makefile
... ... @@ -106,6 +106,7 @@
106 106 rk3399-ficus.dtb \
107 107 rk3399-firefly.dtb \
108 108 rk3399-gru-bob.dtb \
  109 + rk3399-nanopi-m4.dtb \
109 110 rk3399-orangepi.dtb \
110 111 rk3399-puma-ddr1333.dtb \
111 112 rk3399-puma-ddr1600.dtb \
arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
  1 +// SPDX-License-Identifier: GPL-2.0+
  2 +/*
  3 + * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
  4 + */
  5 +
  6 +#include "rk3399-nanopi4-u-boot.dtsi"
  7 +#include "rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi"
arch/arm/dts/rk3399-nanopi-m4.dts
  1 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 +/*
  3 + * FriendlyElec NanoPi M4 board device tree source
  4 + *
  5 + * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
  6 + * (http://www.friendlyarm.com)
  7 + *
  8 + * Copyright (c) 2018 Collabora Ltd.
  9 + * Copyright (c) 2019 Arm Ltd.
  10 + */
  11 +
  12 +/dts-v1/;
  13 +#include "rk3399-nanopi4.dtsi"
  14 +
  15 +/ {
  16 + model = "FriendlyElec NanoPi M4";
  17 + compatible = "friendlyarm,nanopi-m4", "rockchip,rk3399";
  18 +
  19 + vdd_5v: vdd-5v {
  20 + compatible = "regulator-fixed";
  21 + regulator-name = "vdd_5v";
  22 + regulator-always-on;
  23 + regulator-boot-on;
  24 + };
  25 +
  26 + vcc5v0_core: vcc5v0-core {
  27 + compatible = "regulator-fixed";
  28 + regulator-name = "vcc5v0_core";
  29 + regulator-always-on;
  30 + regulator-boot-on;
  31 + vin-supply = <&vdd_5v>;
  32 + };
  33 +
  34 + vcc5v0_usb1: vcc5v0-usb1 {
  35 + compatible = "regulator-fixed";
  36 + regulator-name = "vcc5v0_usb1";
  37 + regulator-always-on;
  38 + regulator-boot-on;
  39 + vin-supply = <&vcc5v0_sys>;
  40 + };
  41 +
  42 + vcc5v0_usb2: vcc5v0-usb2 {
  43 + compatible = "regulator-fixed";
  44 + regulator-name = "vcc5v0_usb2";
  45 + regulator-always-on;
  46 + regulator-boot-on;
  47 + vin-supply = <&vcc5v0_sys>;
  48 + };
  49 +};
  50 +
  51 +&vcc3v3_sys {
  52 + vin-supply = <&vcc5v0_core>;
  53 +};
  54 +
  55 +&u2phy0_host {
  56 + phy-supply = <&vcc5v0_usb1>;
  57 +};
  58 +
  59 +&u2phy1_host {
  60 + phy-supply = <&vcc5v0_usb2>;
  61 +};
  62 +
  63 +&vbus_typec {
  64 + regulator-always-on;
  65 + vin-supply = <&vdd_5v>;
  66 +};
arch/arm/dts/rk3399-nanopi4-u-boot.dtsi
... ... @@ -3,6 +3,8 @@
3 3 * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
4 4 */
5 5  
  6 +#include "rk3399-u-boot.dtsi"
  7 +
6 8 &sdmmc {
7 9 pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_cd>;
8 10 };
board/rockchip/evb_rk3399/MAINTAINERS
... ... @@ -6,6 +6,12 @@
6 6 F: configs/evb-rk3399_defconfig
7 7 F: configs/firefly-rk3399_defconfig
8 8  
  9 +NANOPI-M4
  10 +M: Jagan Teki <jagan@amarulasolutions.com>
  11 +S: Maintained
  12 +F: configs/nanopi-m4-rk3399_defconfig
  13 +F: arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
  14 +
9 15 ORANGEPI-RK3399
10 16 M: Jagan Teki <jagan@amarulasolutions.com>
11 17 S: Maintained
configs/nanopi-m4-rk3399_defconfig
  1 +CONFIG_ARM=y
  2 +CONFIG_ARCH_ROCKCHIP=y
  3 +CONFIG_SYS_TEXT_BASE=0x00200000
  4 +CONFIG_SPL_LIBCOMMON_SUPPORT=y
  5 +CONFIG_SPL_LIBGENERIC_SUPPORT=y
  6 +CONFIG_SYS_MALLOC_F_LEN=0x4000
  7 +CONFIG_ROCKCHIP_RK3399=y
  8 +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x4000
  9 +CONFIG_DEBUG_UART_BASE=0xFF1A0000
  10 +CONFIG_DEBUG_UART_CLOCK=24000000
  11 +CONFIG_SPL_STACK_R_ADDR=0x80000
  12 +CONFIG_DEBUG_UART=y
  13 +CONFIG_NR_DRAM_BANKS=1
  14 +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-m4.dtb"
  15 +# CONFIG_DISPLAY_CPUINFO is not set
  16 +CONFIG_DISPLAY_BOARDINFO_LATE=y
  17 +CONFIG_SPL_TEXT_BASE=0xff8c2000
  18 +CONFIG_SPL_STACK_R=y
  19 +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
  20 +CONFIG_CMD_BOOTZ=y
  21 +CONFIG_CMD_GPT=y
  22 +CONFIG_CMD_MMC=y
  23 +CONFIG_CMD_SF=y
  24 +CONFIG_CMD_USB=y
  25 +# CONFIG_CMD_SETEXPR is not set
  26 +CONFIG_CMD_TIME=y
  27 +CONFIG_SPL_OF_CONTROL=y
  28 +CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-m4"
  29 +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
  30 +CONFIG_ENV_IS_IN_MMC=y
  31 +CONFIG_ROCKCHIP_GPIO=y
  32 +CONFIG_SYS_I2C_ROCKCHIP=y
  33 +CONFIG_MMC_DW=y
  34 +CONFIG_MMC_DW_ROCKCHIP=y
  35 +CONFIG_MMC_SDHCI=y
  36 +CONFIG_MMC_SDHCI_ROCKCHIP=y
  37 +CONFIG_DM_ETH=y
  38 +CONFIG_ETH_DESIGNWARE=y
  39 +CONFIG_GMAC_ROCKCHIP=y
  40 +CONFIG_PMIC_RK8XX=y
  41 +CONFIG_REGULATOR_PWM=y
  42 +CONFIG_REGULATOR_RK8XX=y
  43 +CONFIG_PWM_ROCKCHIP=y
  44 +CONFIG_BAUDRATE=1500000
  45 +CONFIG_DEBUG_UART_SHIFT=2
  46 +CONFIG_SYSRESET=y
  47 +CONFIG_USB=y
  48 +CONFIG_USB_XHCI_HCD=y
  49 +CONFIG_USB_XHCI_DWC3=y
  50 +CONFIG_USB_EHCI_HCD=y
  51 +CONFIG_USB_EHCI_GENERIC=y
  52 +CONFIG_USB_HOST_ETHER=y
  53 +CONFIG_USB_ETHER_ASIX=y
  54 +CONFIG_USB_ETHER_ASIX88179=y
  55 +CONFIG_USB_ETHER_MCS7830=y
  56 +CONFIG_USB_ETHER_RTL8152=y
  57 +CONFIG_USB_ETHER_SMSC95XX=y
  58 +CONFIG_USE_TINY_PRINTF=y
  59 +CONFIG_ERRNO_STR=y