arm64: rk3399: Add support NanoPi R4s

Kever Yang kever.yang at rock-chips.com
Mon Feb 1 02:57:39 CET 2021


Hi Xiaobo,


     Thanks for your update, see comments in line.

On 2021/1/29 下午10:34, alex tian wrote:
> From c9563fe439e07e760d29a42e737b8265d5772150 Mon Sep 17 00:00:00 2001
> From: Xiaobo Tian <peterwillcn at gmail.com <mailto:peterwillcn at gmail.com>>
> Date: Fri, 29 Jan 2021 22:30:22 +0800
> Subject: [PATCH] arm64: rk3399: Add support NanoPi R4s

You need to update the patch version, this is at lease version 4, and 
please add change log

for what have been update in new version, these can be found in the link 
I share with you in previous review.

>
> NanoPi R4s [1] is SBC base on Rockchip RK3399 hexa-core processor with
> dual-Core Cortex-A72 and Mali-T864 GPU with 4GiB(LPDDR4) of RAM, SD 
> card support,
> including 2 gigabit ethernet(RTL8211E 1Gbps - RTL8111H 1Gbps) and 2 
> USB 3.0 port.
> port.It also has two GPIO headers which allows further peripherals to 
> be used.
>
> The devicetree file is taken of the rk3399 nanopi4 Linux kernel [2].
we need a commit number in mainline kernel instead of file link.
>
> [1] https://wiki.friendlyarm.com/wiki/index.php/NanoPi_R4S
This product is no need in the commit message.
> [2] 
> https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
>
> Cc: Tom Rini <trini at konsulko.com <mailto:trini at konsulko.com>>
> Cc: Kever Yang <kever.yang at rock-chips.com 
> <mailto:kever.yang at rock-chips.com>>
> Reviewed-by: Kever Yang <kever.yang at rock-chips.com 
> <mailto:kever.yang at rock-chips.com>>


Please don't add my review tag before I reply it to the list with 
"Reviewed-by..." message.

One more thing is that please make sure this patch can pass the 
checkpatch script, 10 warnings for this patch now,

and you will need to add MAINTAINERS info for this board at 
board/rockchip/evb_rk3399/MAINTAINERS if you

want to follow evb with everything other than dts, or else you will need 
to add a board at board/friendlyarm/.


Thanks,

- Kever

> Signed-off-by: Xiaobo Tian <peterwillcn at gmail.com 
> <mailto:peterwillcn at gmail.com>>
> ---
>  arch/arm/dts/Makefile                      |   1 +
>  arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi |   7 ++
>  arch/arm/dts/rk3399-nanopi-r4s.dts         | 129 +++++++++++++++++++++
>  configs/nanopi-r4s-rk3399_defconfig        |  62 ++++++++++
>  4 files changed, 199 insertions(+)
>  create mode 100644 arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
>  create mode 100644 arch/arm/dts/rk3399-nanopi-r4s.dts
>  create mode 100644 configs/nanopi-r4s-rk3399_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 858b79ac97..528dfe069e 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -92,6 +92,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3288) += \
>   rk3288-evb.dtb \
>   rk3288-firefly.dtb \
>   rk3288-miqi.dtb \
> + rk3399-nanopi-r4s.dtb \
>   rk3288-phycore-rdk.dtb \
>   rk3288-popmetal.dtb \
>   rk3288-rock2-square.dtb \
> diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi 
> b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
> new file mode 100644
> index 0000000000..df193f0e64
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi
> @@ -0,0 +1,7 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2020 Xiaobo <peterwillcn at gmail.com 
> <mailto:peterwillcn at gmail.com>>
> + */
> +
> +#include "rk3399-nanopi4-u-boot.dtsi"
> +#include "rk3399-sdram-lpddr4-100.dtsi"
> diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts 
> b/arch/arm/dts/rk3399-nanopi-r4s.dts
> new file mode 100644
> index 0000000000..36d55fed39
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts
> @@ -0,0 +1,129 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
> + * (http://www.friendlyarm.com)
> + *
> + * Copyright (C) 2020 Xiaobo <peterwillcn at gmail.com 
> <mailto:peterwillcn at gmail.com>>
> + */
> +
> +/dts-v1/;
> +#include "rk3399-nanopi4.dtsi"
> +
> +/ {
> + model = "FriendlyElec NanoPi R4S";
> + compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
> +
> +  cpuinfo {
> +      compatible = "rockchip,cpuinfo";
> +      nvmem-cells = <&cpu_id>;
> +      nvmem-cell-names = "id";
> +  };
> +
> +  aliases {
> +      ethernet1 = &r8169;
> +  };
> +
> + vdd_5v: vdd-5v {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd_5v";
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + fan: pwm-fan {
> + compatible = "pwm-fan";
> + cooling-levels = <0 12 18 255>;
> + #cooling-cells = <2>;
> + fan-supply = <&vdd_5v>;
> + pwms = <&pwm1 0 50000 0>;
> + };
> +};
> +
> +&cpu_thermal {
> + trips {
> + cpu_warm: cpu_warm {
> + temperature = <55000>;
> + hysteresis = <2000>;
> + type = "active";
> + };
> +
> + cpu_hot: cpu_hot {
> + temperature = <65000>;
> + hysteresis = <2000>;
> + type = "active";
> + };
> + };
> +
> + cooling-maps {
> + map2 {
> + trip = <&cpu_warm>;
> + cooling-device = <&fan THERMAL_NO_LIMIT 1>;
> + };
> +
> + map3 {
> + trip = <&cpu_hot>;
> + cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
> + };
> + };
> +};
> +
> +&emmc_phy {
> + status = "disabled";
> +};
> +
> +&fusb0 {
> + status = "disabled";
> +};
> +
> +&leds {
> + lan_led: led-1 {
> + gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
> + label = "nanopi-r4s:green:lan";
> + };
> +
> + wan_led: led-2 {
> + gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
> + label = "nanopi-r4s:green:wan";
> + };
> +};
> +
> +&leds_gpio {
> + rockchip,pins =
> + <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
> + <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
> + <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
> +};
> +
> +&pcie0 {
> + max-link-speed = <1>;
> + num-lanes = <1>;
> + vpcie3v3-supply = <&vcc3v3_sys>;
> +};
> +
> +&sdhci {
> + status = "disabled";
> +};
> +
> +&sdio0 {
> + status = "disabled";
> +};
> +
> +&sdmmc {
> + host-index-min = <1>;
> +};
> +
> +&u2phy0_host {
> + phy-supply = <&vdd_5v>;
> +};
> +
> +&u2phy1_host {
> + status = "disabled";
> +};
> +
> +&usbdrd_dwc3_0 {
> + dr_mode = "host";
> +};
> +
> +&vcc3v3_sys {
> + vin-supply = <&vcc5v0_sys>;
> +};
> diff --git a/configs/nanopi-r4s-rk3399_defconfig 
> b/configs/nanopi-r4s-rk3399_defconfig
> new file mode 100644
> index 0000000000..0a3c28b012
> --- /dev/null
> +++ b/configs/nanopi-r4s-rk3399_defconfig
> @@ -0,0 +1,62 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_SYS_TEXT_BASE=0x00200000
> +CONFIG_ENV_OFFSET=0x3F8000
> +CONFIG_ROCKCHIP_RK3399=y
> +CONFIG_TARGET_EVB_RK3399=y
> +CONFIG_NR_DRAM_BANKS=1
> +CONFIG_DEBUG_UART_BASE=0xFF1A0000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s.dtb"
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> +CONFIG_SPL_STACK_R=y
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
> +CONFIG_TPL=y
> +CONFIG_CMD_BOOTZ=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +# CONFIG_CMD_SETEXPR is not set
> +CONFIG_CMD_TIME=y
> +CONFIG_SPL_OF_CONTROL=y
> +CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s"
> +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names 
> interrupt-parent assigned-clocks assigned-clock-rates 
> assigned-clock-parents"
> +CONFIG_ENV_IS_IN_MMC=y
> +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_SYS_I2C_ROCKCHIP=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_DW_ROCKCHIP=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_ROCKCHIP=y
> +CONFIG_DM_ETH=y
> +CONFIG_ETH_DESIGNWARE=y
> +CONFIG_GMAC_ROCKCHIP=y
> +CONFIG_PMIC_RK8XX=y
> +CONFIG_REGULATOR_PWM=y
> +CONFIG_REGULATOR_RK8XX=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_RAM_RK3399_LPDDR4=y
> +CONFIG_BAUDRATE=1500000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYSRESET=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_XHCI_DWC3=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_GENERIC=y
> +CONFIG_USB_KEYBOARD=y
> +CONFIG_USB_HOST_ETHER=y
> +CONFIG_USB_ETHER_ASIX=y
> +CONFIG_USB_ETHER_ASIX88179=y
> +CONFIG_USB_ETHER_MCS7830=y
> +CONFIG_USB_ETHER_RTL8152=y
> +CONFIG_USB_ETHER_SMSC95XX=y
> +CONFIG_DM_VIDEO=y
> +CONFIG_DISPLAY=y
> +CONFIG_VIDEO_ROCKCHIP=y
> +CONFIG_DISPLAY_ROCKCHIP_HDMI=y
> +CONFIG_SPL_TINY_MEMSET=y
> +CONFIG_ERRNO_STR=y
> --
> 2.30.0
>
>


More information about the U-Boot mailing list