Message ID | CANxuSJM2O07zE+umfVtSc30U6=LGajWYqz5JrEDoWfQhH2UVHw@mail.gmail.com |
---|---|
State | Superseded |
Delegated to: | Kever Yang |
Headers | show |
Series | arm64: rk3399: Add support NanoPi R4s | expand |
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@gmail.com <mailto:peterwillcn@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@konsulko.com <mailto:trini@konsulko.com>> > Cc: Kever Yang <kever.yang@rock-chips.com > <mailto:kever.yang@rock-chips.com>> > Reviewed-by: Kever Yang <kever.yang@rock-chips.com > <mailto:kever.yang@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@gmail.com > <mailto:peterwillcn@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@gmail.com > <mailto:peterwillcn@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@gmail.com > <mailto:peterwillcn@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 > >
Hi, On Mon, Feb 1, 2021 at 9:58 AM Kever Yang <kever.yang@rock-chips.com> wrote: > > 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@gmail.com <mailto:peterwillcn@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@konsulko.com <mailto:trini@konsulko.com>> > > Cc: Kever Yang <kever.yang@rock-chips.com > > <mailto:kever.yang@rock-chips.com>> > > Reviewed-by: Kever Yang <kever.yang@rock-chips.com > > <mailto:kever.yang@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@gmail.com > > <mailto:peterwillcn@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@gmail.com > > <mailto:peterwillcn@gmail.com>> > > + */ > > + > > +#include "rk3399-nanopi4-u-boot.dtsi" > > +#include "rk3399-sdram-lpddr4-100.dtsi" Because of this ... > > 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@gmail.com > > <mailto:peterwillcn@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 and this, should the board have a lpddr4 or 4gb suffix, to distinguish this from the 1gb ddr3 variant? ChenYu
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@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@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