From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: hmz007 Date: Sat, 19 Dec 2020 20:39:29 +0800 Subject: board: nanopi4: unify 1GB/4GB variants of R4S Signed-off-by: hmz007 --- arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi | 8 - arch/arm/dts/rk3399-nanopi-r4s-4gb.dts | 114 ---------- arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi | 2 + board/friendlyarm/nanopi4/hwrev.c | 36 +++ configs/nanopi-r4s-4gb-rk3399_defconfig | 63 ----- configs/nanopi-r4s-rk3399_defconfig | 1 + 6 files changed, 39 insertions(+), 185 deletions(-) diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi deleted file mode 100644 index b291830640..0000000000 --- a/arch/arm/dts/rk3399-nanopi-r4s-4gb-u-boot.dtsi +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2019 Jagan Teki - * Copyright (C) 2020 Deepak Das - */ - -#include "rk3399-nanopi4-u-boot.dtsi" -#include "rk3399-sdram-lpddr4-100.dtsi" diff --git a/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts b/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts deleted file mode 100644 index 3072880c77..0000000000 --- a/arch/arm/dts/rk3399-nanopi-r4s-4gb.dts +++ /dev/null @@ -1,114 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -/* - * FriendlyElec NanoPi R4S board device tree source - * - * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd. - * (http://www.friendlyarm.com) - * - * Copyright (c) 2018 Collabora Ltd. - * Copyright (c) 2019 Arm Ltd. - */ - -/dts-v1/; -#include "rk3399-nanopi4.dtsi" - -/ { - model = "FriendlyElec NanoPi R4S"; - compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; - - vdd_5v: vdd-5v { - compatible = "regulator-fixed"; - regulator-name = "vdd_5v"; - regulator-always-on; - regulator-boot-on; - }; - - vcc5v0_usb1: vcc5v0-usb1 { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_usb1"; - regulator-always-on; - regulator-boot-on; - vin-supply = <&vdd_5v>; - }; - - vcc5v0_usb2: vcc5v0-usb2 { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_usb2"; - regulator-always-on; - regulator-boot-on; - vin-supply = <&vdd_5v>; - }; - - fan: pwm-fan { - compatible = "pwm-fan"; - /* - * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels - * work out to 0, ~1200, ~3000, and 5000RPM respectively. - */ - 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"; -}; - -&pcie0 { - num-lanes = <1>; - vpcie3v3-supply = <&vcc3v3_sys>; -}; - -&sdhci { - status = "disabled"; -}; - -&sdio0 { - status = "disabled"; -}; - -&u2phy0_host { - phy-supply = <&vdd_5v>; -}; - -&u2phy1_host { - status = "disabled"; -}; - -&vcc3v3_sys { - vin-supply = <&vcc5v0_sys>; -}; diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi index eb0aca4758..9369a7022a 100644 --- a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi +++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi @@ -4,4 +4,6 @@ */ #include "rk3399-nanopi4-u-boot.dtsi" +#include "rk3399-sdram-lpddr4-100.dtsi" +#include "rk3399-sdram-lpddr3-samsung-4GB-1866.dtsi" #include "rk3399-sdram-ddr3-1866.dtsi" diff --git a/board/friendlyarm/nanopi4/hwrev.c b/board/friendlyarm/nanopi4/hwrev.c index 9199a927ee..812fcef9c7 100644 --- a/board/friendlyarm/nanopi4/hwrev.c +++ b/board/friendlyarm/nanopi4/hwrev.c @@ -101,9 +101,13 @@ static uint32_t get_adc_index(int chn) * Group A: * 0x04 - NanoPi NEO4 * 0x06 - SOC-RK3399 + * 0x07 - SOC-RK3399 V2 + * 0x09 - NanoPi R4S 1GB + * 0x0A - NanoPi R4S 4GB * * Group B: * 0x21 - NanoPi M4 Ver2.0 + * 0x22 - NanoPi M4B */ static int pcb_rev = -1; @@ -141,6 +145,38 @@ void bd_hwrev_init(void) } } +#ifdef CONFIG_SPL_BUILD +static struct board_ddrtype { + int rev; + const char *type; +} ddrtypes[] = { + { 0x00, "lpddr3-samsung-4GB-1866" }, + { 0x01, "lpddr3-samsung-4GB-1866" }, + { 0x04, "ddr3-1866" }, + { 0x06, "ddr3-1866" }, + { 0x07, "lpddr4-100" }, + { 0x09, "ddr3-1866" }, + { 0x0a, "lpddr4-100" }, + { 0x21, "lpddr4-100" }, + { 0x22, "ddr3-1866" }, +}; + +const char *rk3399_get_ddrtype(void) { + int i; + + bd_hwrev_init(); + printf("Board: rev%02x\n", pcb_rev); + + for (i = 0; i < ARRAY_SIZE(ddrtypes); i++) { + if (ddrtypes[i].rev == pcb_rev) + return ddrtypes[i].type; + } + + /* fallback to first subnode (ie, first included dtsi) */ + return NULL; +} +#endif + /* To override __weak symbols */ u32 get_board_rev(void) { diff --git a/configs/nanopi-r4s-4gb-rk3399_defconfig b/configs/nanopi-r4s-4gb-rk3399_defconfig deleted file mode 100644 index 147bffad9d..0000000000 --- a/configs/nanopi-r4s-4gb-rk3399_defconfig +++ /dev/null @@ -1,63 +0,0 @@ -CONFIG_ARM=y -CONFIG_ARCH_ROCKCHIP=y -CONFIG_SYS_TEXT_BASE=0x00200000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_ENV_OFFSET=0x3F8000 -CONFIG_ROCKCHIP_RK3399=y -CONFIG_TARGET_NANOPI4=y -CONFIG_DEBUG_UART_BASE=0xFF1A0000 -CONFIG_DEBUG_UART_CLOCK=24000000 -CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s-4gb" -CONFIG_DEBUG_UART=y -CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s-4gb.dtb" -CONFIG_MISC_INIT_R=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_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_SYS_MMC_ENV_DEV=1 -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 diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig index b67f7c0dc9..f1776eee73 100644 --- a/configs/nanopi-r4s-rk3399_defconfig +++ b/configs/nanopi-r4s-rk3399_defconfig @@ -39,6 +39,7 @@ 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 -- Armbian