diff mbox series

[U-Boot,V4,2/2] rockchip: dts: tinker: Add tinker-s board support

Message ID 20191115210724.3519-2-michael@amarulasolutions.com
State Accepted
Commit 59b01eb7a17a7c0915fd8aff8f818699b4624137
Delegated to: Kever Yang
Headers show
Series [U-Boot,V4,1/2] rockchip: dts: tinker: Move u-boot dmc initialization to specific section | expand

Commit Message

Michael Nazzareno Trimarchi Nov. 15, 2019, 9:07 p.m. UTC
Support tinker-s board. The board is equivalent of tinker board
except of emmc.

TODO:
- support of usb current burst when the board is powered from pc

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
Changes:
	v3->v4: Add mantainer and boot from to save the enviroment
	v2->v3: drop dmc section
	v1->v2: Add boot configuration for emmc
---
 arch/arm/dts/Makefile                        |  1 +
 arch/arm/dts/rk3288-tinker-s-u-boot.dtsi     | 34 +++++++
 arch/arm/dts/rk3288-tinker-s.dts             | 29 ++++++
 board/rockchip/tinker_rk3288/MAINTAINERS     |  7 ++
 board/rockchip/tinker_rk3288/tinker-rk3288.c | 12 +++
 configs/tinker-s-rk3288_defconfig            | 99 ++++++++++++++++++++
 include/configs/tinker_rk3288.h              |  1 +
 7 files changed, 183 insertions(+)
 create mode 100644 arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
 create mode 100644 arch/arm/dts/rk3288-tinker-s.dts
 create mode 100644 configs/tinker-s-rk3288_defconfig

Comments

Kever Yang Nov. 17, 2019, 9:12 a.m. UTC | #1
On 2019/11/16 上午5:07, Michael Trimarchi wrote:
> Support tinker-s board. The board is equivalent of tinker board
> except of emmc.
>
> TODO:
> - support of usb current burst when the board is powered from pc
>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
> Changes:
> 	v3->v4: Add mantainer and boot from to save the enviroment
> 	v2->v3: drop dmc section
> 	v1->v2: Add boot configuration for emmc
> ---
>   arch/arm/dts/Makefile                        |  1 +
>   arch/arm/dts/rk3288-tinker-s-u-boot.dtsi     | 34 +++++++
>   arch/arm/dts/rk3288-tinker-s.dts             | 29 ++++++
>   board/rockchip/tinker_rk3288/MAINTAINERS     |  7 ++
>   board/rockchip/tinker_rk3288/tinker-rk3288.c | 12 +++
>   configs/tinker-s-rk3288_defconfig            | 99 ++++++++++++++++++++
>   include/configs/tinker_rk3288.h              |  1 +
>   7 files changed, 183 insertions(+)
>   create mode 100644 arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
>   create mode 100644 arch/arm/dts/rk3288-tinker-s.dts
>   create mode 100644 configs/tinker-s-rk3288_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 85ef00a2bd..dfaeea4a25 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -87,6 +87,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3288) += \
>   	rk3288-popmetal.dtb \
>   	rk3288-rock2-square.dtb \
>   	rk3288-tinker.dtb \
> +	rk3288-tinker-s.dtb \
>   	rk3288-veyron-jerry.dtb \
>   	rk3288-veyron-mickey.dtb \
>   	rk3288-veyron-minnie.dtb \
> diff --git a/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
> new file mode 100644
> index 0000000000..a177fca73a
> --- /dev/null
> +++ b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
> @@ -0,0 +1,34 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2019 Amarula Solutions SRO
> + */
> +
> +#include "rk3288-u-boot.dtsi"
> +#include "rk3288-tinker-u-boot.dtsi"
> +
> +/ {
> +	chosen {
> +		u-boot,spl-boot-order = \
> +			"same-as-spl", &sdmmc, &emmc;
> +	};
> +};
> +
> +&emmc {
> +	u-boot,dm-spl;
> +};
> +
> +&emmc_clk {
> +	u-boot,dm-spl;
> +};
> +
> +&emmc_cmd {
> +	u-boot,dm-spl;
> +};
> +
> +&emmc_pwr {
> +	u-boot,dm-spl;
> +};
> +
> +&emmc_bus8 {
> +	u-boot,dm-spl;
> +};
> diff --git a/arch/arm/dts/rk3288-tinker-s.dts b/arch/arm/dts/rk3288-tinker-s.dts
> new file mode 100644
> index 0000000000..cc7ac5f881
> --- /dev/null
> +++ b/arch/arm/dts/rk3288-tinker-s.dts
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "rk3288-tinker.dtsi"
> +
> +/ {
> +	model = "Rockchip RK3288 Asus Tinker Board S";
> +	compatible = "asus,rk3288-tinker-s", "rockchip,rk3288";
> +
> +	chosen {
> +		stdout-path = &uart2;
> +	};
> +};
> +
> +&emmc {
> +	bus-width = <8>;
> +	cap-mmc-highspeed;
> +	non-removable;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
> +	max-frequency = <150000000>;
> +	mmc-hs200-1_8v;
> +	mmc-ddr-1_8v;
> +	status = "okay";
> +};
> diff --git a/board/rockchip/tinker_rk3288/MAINTAINERS b/board/rockchip/tinker_rk3288/MAINTAINERS
> index cddceafb6e..ed5de682c9 100644
> --- a/board/rockchip/tinker_rk3288/MAINTAINERS
> +++ b/board/rockchip/tinker_rk3288/MAINTAINERS
> @@ -4,3 +4,10 @@ S:	Maintained
>   F:	board/rockchip/tinker_rk3288
>   F:	include/configs/tinker_rk3288.h
>   F:	configs/tinker-rk3288_defconfig
> +
> +TINKER-S-RK3288
> +M:	Michael Trimarchi <michael@amarulasolutions.com>
> +S:	Maintained
> +F:	board/rockchip/tinker_rk3288
> +F:	include/configs/tinker_rk3288.h
> +F:	configs/tinker-s-rk3288_defconfig
> diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c b/board/rockchip/tinker_rk3288/tinker-rk3288.c
> index 6c76c3c25c..7a0c3c997d 100644
> --- a/board/rockchip/tinker_rk3288/tinker-rk3288.c
> +++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c
> @@ -8,6 +8,8 @@
>   #include <env.h>
>   #include <i2c_eeprom.h>
>   #include <netdev.h>
> +#include <asm/arch-rockchip/bootrom.h>
> +#include <asm/io.h>
>   
>   static int get_ethaddr_from_eeprom(u8 *addr)
>   {
> @@ -33,3 +35,13 @@ int rk3288_board_late_init(void)
>   
>   	return 0;
>   }
> +
> +int mmc_get_env_dev(void)
> +{
> +	u32 bootdevice_brom_id = readl(BROM_BOOTSOURCE_ID_ADDR);
> +
> +	if (bootdevice_brom_id == BROM_BOOTSOURCE_EMMC)
> +		return 0;
> +
> +	return 1;
> +}
> diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig
> new file mode 100644
> index 0000000000..c851a93f31
> --- /dev/null
> +++ b/configs/tinker-s-rk3288_defconfig
> @@ -0,0 +1,99 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_SYS_TEXT_BASE=0x01000000
> +CONFIG_SPL_GPIO_SUPPORT=y
> +CONFIG_ROCKCHIP_RK3288=y
> +CONFIG_TARGET_TINKER_RK3288=y
> +CONFIG_NR_DRAM_BANKS=1
> +CONFIG_SPL_SIZE_LIMIT=307200
> +CONFIG_SPL_STACK_R_ADDR=0x800000
> +CONFIG_DEBUG_UART_BASE=0xff690000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_TPL_SYS_MALLOC_F_LEN=0x4000
> +CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
> +CONFIG_SYS_MALLOC_F_LEN=0x4000
> +# CONFIG_ANDROID_BOOT_IMAGE is not set
> +CONFIG_USE_PREBOOT=y
> +CONFIG_SILENT_CONSOLE=y
> +CONFIG_CONSOLE_MUX=y
> +CONFIG_DEFAULT_FDT_FILE="rk3288-tinker-s.dtb"
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_STACK_R=y
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
> +CONFIG_SPL_I2C_SUPPORT=y
> +CONFIG_SPL_POWER_SUPPORT=y
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_SF=y
> +CONFIG_CMD_SPI=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
> +# CONFIG_CMD_SETEXPR is not set
> +CONFIG_CMD_BMP=y
> +CONFIG_CMD_CACHE=y
> +CONFIG_CMD_TIME=y
> +CONFIG_CMD_PMIC=y
> +CONFIG_CMD_REGULATOR=y
> +# CONFIG_SPL_DOS_PARTITION is not set
> +# CONFIG_SPL_EFI_PARTITION is not set
> +CONFIG_SPL_PARTITION_UUIDS=y
> +CONFIG_SPL_OF_CONTROL=y
> +CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker-s"
> +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_ENV_IS_IN_MMC=y
> +CONFIG_REGMAP=y
> +CONFIG_SPL_REGMAP=y
> +CONFIG_SYSCON=y
> +CONFIG_SPL_SYSCON=y
> +# CONFIG_SPL_SIMPLE_BUS is not set
> +CONFIG_CLK=y
> +CONFIG_SPL_CLK=y
> +CONFIG_FASTBOOT_FLASH=y
> +CONFIG_FASTBOOT_FLASH_MMC_DEV=0
> +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_SYS_I2C_ROCKCHIP=y
> +CONFIG_MISC=y
> +CONFIG_I2C_EEPROM=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_DW_ROCKCHIP=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_SF_DEFAULT_SPEED=20000000
> +CONFIG_DM_ETH=y
> +CONFIG_ETH_DESIGNWARE=y
> +CONFIG_GMAC_ROCKCHIP=y
> +CONFIG_PINCTRL=y
> +CONFIG_SPL_PINCTRL=y
> +CONFIG_DM_PMIC=y
> +CONFIG_PMIC_RK8XX=y
> +CONFIG_SPL_DM_REGULATOR=y
> +CONFIG_DM_REGULATOR_FIXED=y
> +CONFIG_SPL_DM_REGULATOR_FIXED=y
> +CONFIG_REGULATOR_RK8XX=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_RAM=y
> +CONFIG_SPL_RAM=y
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYSRESET=y
> +CONFIG_USB=y
> +CONFIG_USB_DWC2=y
> +CONFIG_ROCKCHIP_USB2_PHY=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
> +CONFIG_USB_GADGET_VENDOR_NUM=0x2207
> +CONFIG_USB_GADGET_PRODUCT_NUM=0x320a
> +CONFIG_USB_GADGET_DWC2_OTG=y
> +CONFIG_USB_HOST_ETHER=y
> +CONFIG_USB_ETHER_ASIX=y
> +CONFIG_USB_ETHER_SMSC95XX=y
> +CONFIG_CMD_DHRYSTONE=y
> +CONFIG_ERRNO_STR=y
> +CONFIG_DM_VIDEO=y
> +CONFIG_DISPLAY=y
> +CONFIG_VIDEO_ROCKCHIP=y
> +CONFIG_DISPLAY_ROCKCHIP_HDMI=y
> +CONFIG_CONSOLE_SCROLL_LINES=10
> diff --git a/include/configs/tinker_rk3288.h b/include/configs/tinker_rk3288.h
> index 5adae68c91..f8a55a2cec 100644
> --- a/include/configs/tinker_rk3288.h
> +++ b/include/configs/tinker_rk3288.h
> @@ -12,6 +12,7 @@
>   #undef BOOT_TARGET_DEVICES
>   
>   #define BOOT_TARGET_DEVICES(func) \
> +	func(MMC, mmc, 0) \
>   	func(MMC, mmc, 1) \
>   	func(USB, usb, 0) \
>   	func(PXE, pxe, na) \
Kever Yang Nov. 18, 2019, 3:07 a.m. UTC | #2
On 2019/11/17 下午5:12, Kever Yang wrote:
>
> On 2019/11/16 上午5:07, Michael Trimarchi wrote:
>> Support tinker-s board. The board is equivalent of tinker board
>> except of emmc.
>>
>> TODO:
>> - support of usb current burst when the board is powered from pc
>>
>> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Applied to u-boot-rockchip master.

Thanks,
- Kever
>
> Thanks,
> - Kever
>> ---
>> Changes:
>>     v3->v4: Add mantainer and boot from to save the enviroment
>>     v2->v3: drop dmc section
>>     v1->v2: Add boot configuration for emmc
>> ---
>>   arch/arm/dts/Makefile                        |  1 +
>>   arch/arm/dts/rk3288-tinker-s-u-boot.dtsi     | 34 +++++++
>>   arch/arm/dts/rk3288-tinker-s.dts             | 29 ++++++
>>   board/rockchip/tinker_rk3288/MAINTAINERS     |  7 ++
>>   board/rockchip/tinker_rk3288/tinker-rk3288.c | 12 +++
>>   configs/tinker-s-rk3288_defconfig            | 99 ++++++++++++++++++++
>>   include/configs/tinker_rk3288.h              |  1 +
>>   7 files changed, 183 insertions(+)
>>   create mode 100644 arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
>>   create mode 100644 arch/arm/dts/rk3288-tinker-s.dts
>>   create mode 100644 configs/tinker-s-rk3288_defconfig
>>
>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>> index 85ef00a2bd..dfaeea4a25 100644
>> --- a/arch/arm/dts/Makefile
>> +++ b/arch/arm/dts/Makefile
>> @@ -87,6 +87,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3288) += \
>>       rk3288-popmetal.dtb \
>>       rk3288-rock2-square.dtb \
>>       rk3288-tinker.dtb \
>> +    rk3288-tinker-s.dtb \
>>       rk3288-veyron-jerry.dtb \
>>       rk3288-veyron-mickey.dtb \
>>       rk3288-veyron-minnie.dtb \
>> diff --git a/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi 
>> b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
>> new file mode 100644
>> index 0000000000..a177fca73a
>> --- /dev/null
>> +++ b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
>> @@ -0,0 +1,34 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/*
>> + * Copyright (C) 2019 Amarula Solutions SRO
>> + */
>> +
>> +#include "rk3288-u-boot.dtsi"
>> +#include "rk3288-tinker-u-boot.dtsi"
>> +
>> +/ {
>> +    chosen {
>> +        u-boot,spl-boot-order = \
>> +            "same-as-spl", &sdmmc, &emmc;
>> +    };
>> +};
>> +
>> +&emmc {
>> +    u-boot,dm-spl;
>> +};
>> +
>> +&emmc_clk {
>> +    u-boot,dm-spl;
>> +};
>> +
>> +&emmc_cmd {
>> +    u-boot,dm-spl;
>> +};
>> +
>> +&emmc_pwr {
>> +    u-boot,dm-spl;
>> +};
>> +
>> +&emmc_bus8 {
>> +    u-boot,dm-spl;
>> +};
>> diff --git a/arch/arm/dts/rk3288-tinker-s.dts 
>> b/arch/arm/dts/rk3288-tinker-s.dts
>> new file mode 100644
>> index 0000000000..cc7ac5f881
>> --- /dev/null
>> +++ b/arch/arm/dts/rk3288-tinker-s.dts
>> @@ -0,0 +1,29 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "rk3288-tinker.dtsi"
>> +
>> +/ {
>> +    model = "Rockchip RK3288 Asus Tinker Board S";
>> +    compatible = "asus,rk3288-tinker-s", "rockchip,rk3288";
>> +
>> +    chosen {
>> +        stdout-path = &uart2;
>> +    };
>> +};
>> +
>> +&emmc {
>> +    bus-width = <8>;
>> +    cap-mmc-highspeed;
>> +    non-removable;
>> +    pinctrl-names = "default";
>> +    pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
>> +    max-frequency = <150000000>;
>> +    mmc-hs200-1_8v;
>> +    mmc-ddr-1_8v;
>> +    status = "okay";
>> +};
>> diff --git a/board/rockchip/tinker_rk3288/MAINTAINERS 
>> b/board/rockchip/tinker_rk3288/MAINTAINERS
>> index cddceafb6e..ed5de682c9 100644
>> --- a/board/rockchip/tinker_rk3288/MAINTAINERS
>> +++ b/board/rockchip/tinker_rk3288/MAINTAINERS
>> @@ -4,3 +4,10 @@ S:    Maintained
>>   F:    board/rockchip/tinker_rk3288
>>   F:    include/configs/tinker_rk3288.h
>>   F:    configs/tinker-rk3288_defconfig
>> +
>> +TINKER-S-RK3288
>> +M:    Michael Trimarchi <michael@amarulasolutions.com>
>> +S:    Maintained
>> +F:    board/rockchip/tinker_rk3288
>> +F:    include/configs/tinker_rk3288.h
>> +F:    configs/tinker-s-rk3288_defconfig
>> diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c 
>> b/board/rockchip/tinker_rk3288/tinker-rk3288.c
>> index 6c76c3c25c..7a0c3c997d 100644
>> --- a/board/rockchip/tinker_rk3288/tinker-rk3288.c
>> +++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c
>> @@ -8,6 +8,8 @@
>>   #include <env.h>
>>   #include <i2c_eeprom.h>
>>   #include <netdev.h>
>> +#include <asm/arch-rockchip/bootrom.h>
>> +#include <asm/io.h>
>>     static int get_ethaddr_from_eeprom(u8 *addr)
>>   {
>> @@ -33,3 +35,13 @@ int rk3288_board_late_init(void)
>>         return 0;
>>   }
>> +
>> +int mmc_get_env_dev(void)
>> +{
>> +    u32 bootdevice_brom_id = readl(BROM_BOOTSOURCE_ID_ADDR);
>> +
>> +    if (bootdevice_brom_id == BROM_BOOTSOURCE_EMMC)
>> +        return 0;
>> +
>> +    return 1;
>> +}
>> diff --git a/configs/tinker-s-rk3288_defconfig 
>> b/configs/tinker-s-rk3288_defconfig
>> new file mode 100644
>> index 0000000000..c851a93f31
>> --- /dev/null
>> +++ b/configs/tinker-s-rk3288_defconfig
>> @@ -0,0 +1,99 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_ROCKCHIP=y
>> +CONFIG_SYS_TEXT_BASE=0x01000000
>> +CONFIG_SPL_GPIO_SUPPORT=y
>> +CONFIG_ROCKCHIP_RK3288=y
>> +CONFIG_TARGET_TINKER_RK3288=y
>> +CONFIG_NR_DRAM_BANKS=1
>> +CONFIG_SPL_SIZE_LIMIT=307200
>> +CONFIG_SPL_STACK_R_ADDR=0x800000
>> +CONFIG_DEBUG_UART_BASE=0xff690000
>> +CONFIG_DEBUG_UART_CLOCK=24000000
>> +CONFIG_DEBUG_UART=y
>> +CONFIG_TPL_SYS_MALLOC_F_LEN=0x4000
>> +CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
>> +CONFIG_SYS_MALLOC_F_LEN=0x4000
>> +# CONFIG_ANDROID_BOOT_IMAGE is not set
>> +CONFIG_USE_PREBOOT=y
>> +CONFIG_SILENT_CONSOLE=y
>> +CONFIG_CONSOLE_MUX=y
>> +CONFIG_DEFAULT_FDT_FILE="rk3288-tinker-s.dtb"
>> +# CONFIG_DISPLAY_CPUINFO is not set
>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>> +CONFIG_SPL_STACK_R=y
>> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
>> +CONFIG_SPL_I2C_SUPPORT=y
>> +CONFIG_SPL_POWER_SUPPORT=y
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_GPT=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_SF=y
>> +CONFIG_CMD_SPI=y
>> +CONFIG_CMD_USB=y
>> +CONFIG_CMD_USB_MASS_STORAGE=y
>> +# CONFIG_CMD_SETEXPR is not set
>> +CONFIG_CMD_BMP=y
>> +CONFIG_CMD_CACHE=y
>> +CONFIG_CMD_TIME=y
>> +CONFIG_CMD_PMIC=y
>> +CONFIG_CMD_REGULATOR=y
>> +# CONFIG_SPL_DOS_PARTITION is not set
>> +# CONFIG_SPL_EFI_PARTITION is not set
>> +CONFIG_SPL_PARTITION_UUIDS=y
>> +CONFIG_SPL_OF_CONTROL=y
>> +CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker-s"
>> +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent 
>> assigned-clocks assigned-clock-rates assigned-clock-parents"
>> +CONFIG_ENV_IS_IN_MMC=y
>> +CONFIG_REGMAP=y
>> +CONFIG_SPL_REGMAP=y
>> +CONFIG_SYSCON=y
>> +CONFIG_SPL_SYSCON=y
>> +# CONFIG_SPL_SIMPLE_BUS is not set
>> +CONFIG_CLK=y
>> +CONFIG_SPL_CLK=y
>> +CONFIG_FASTBOOT_FLASH=y
>> +CONFIG_FASTBOOT_FLASH_MMC_DEV=0
>> +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
>> +CONFIG_ROCKCHIP_GPIO=y
>> +CONFIG_SYS_I2C_ROCKCHIP=y
>> +CONFIG_MISC=y
>> +CONFIG_I2C_EEPROM=y
>> +CONFIG_MMC_DW=y
>> +CONFIG_MMC_DW_ROCKCHIP=y
>> +CONFIG_SPI_FLASH=y
>> +CONFIG_SF_DEFAULT_SPEED=20000000
>> +CONFIG_DM_ETH=y
>> +CONFIG_ETH_DESIGNWARE=y
>> +CONFIG_GMAC_ROCKCHIP=y
>> +CONFIG_PINCTRL=y
>> +CONFIG_SPL_PINCTRL=y
>> +CONFIG_DM_PMIC=y
>> +CONFIG_PMIC_RK8XX=y
>> +CONFIG_SPL_DM_REGULATOR=y
>> +CONFIG_DM_REGULATOR_FIXED=y
>> +CONFIG_SPL_DM_REGULATOR_FIXED=y
>> +CONFIG_REGULATOR_RK8XX=y
>> +CONFIG_PWM_ROCKCHIP=y
>> +CONFIG_RAM=y
>> +CONFIG_SPL_RAM=y
>> +CONFIG_DEBUG_UART_SHIFT=2
>> +CONFIG_SYSRESET=y
>> +CONFIG_USB=y
>> +CONFIG_USB_DWC2=y
>> +CONFIG_ROCKCHIP_USB2_PHY=y
>> +CONFIG_USB_GADGET=y
>> +CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
>> +CONFIG_USB_GADGET_VENDOR_NUM=0x2207
>> +CONFIG_USB_GADGET_PRODUCT_NUM=0x320a
>> +CONFIG_USB_GADGET_DWC2_OTG=y
>> +CONFIG_USB_HOST_ETHER=y
>> +CONFIG_USB_ETHER_ASIX=y
>> +CONFIG_USB_ETHER_SMSC95XX=y
>> +CONFIG_CMD_DHRYSTONE=y
>> +CONFIG_ERRNO_STR=y
>> +CONFIG_DM_VIDEO=y
>> +CONFIG_DISPLAY=y
>> +CONFIG_VIDEO_ROCKCHIP=y
>> +CONFIG_DISPLAY_ROCKCHIP_HDMI=y
>> +CONFIG_CONSOLE_SCROLL_LINES=10
>> diff --git a/include/configs/tinker_rk3288.h 
>> b/include/configs/tinker_rk3288.h
>> index 5adae68c91..f8a55a2cec 100644
>> --- a/include/configs/tinker_rk3288.h
>> +++ b/include/configs/tinker_rk3288.h
>> @@ -12,6 +12,7 @@
>>   #undef BOOT_TARGET_DEVICES
>>     #define BOOT_TARGET_DEVICES(func) \
>> +    func(MMC, mmc, 0) \
>>       func(MMC, mmc, 1) \
>>       func(USB, usb, 0) \
>>       func(PXE, pxe, na) \
>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
diff mbox series

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 85ef00a2bd..dfaeea4a25 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -87,6 +87,7 @@  dtb-$(CONFIG_ROCKCHIP_RK3288) += \
 	rk3288-popmetal.dtb \
 	rk3288-rock2-square.dtb \
 	rk3288-tinker.dtb \
+	rk3288-tinker-s.dtb \
 	rk3288-veyron-jerry.dtb \
 	rk3288-veyron-mickey.dtb \
 	rk3288-veyron-minnie.dtb \
diff --git a/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
new file mode 100644
index 0000000000..a177fca73a
--- /dev/null
+++ b/arch/arm/dts/rk3288-tinker-s-u-boot.dtsi
@@ -0,0 +1,34 @@ 
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Amarula Solutions SRO
+ */
+
+#include "rk3288-u-boot.dtsi"
+#include "rk3288-tinker-u-boot.dtsi"
+
+/ {
+	chosen {
+		u-boot,spl-boot-order = \
+			"same-as-spl", &sdmmc, &emmc;
+	};
+};
+
+&emmc {
+	u-boot,dm-spl;
+};
+
+&emmc_clk {
+	u-boot,dm-spl;
+};
+
+&emmc_cmd {
+	u-boot,dm-spl;
+};
+
+&emmc_pwr {
+	u-boot,dm-spl;
+};
+
+&emmc_bus8 {
+	u-boot,dm-spl;
+};
diff --git a/arch/arm/dts/rk3288-tinker-s.dts b/arch/arm/dts/rk3288-tinker-s.dts
new file mode 100644
index 0000000000..cc7ac5f881
--- /dev/null
+++ b/arch/arm/dts/rk3288-tinker-s.dts
@@ -0,0 +1,29 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
+ */
+
+/dts-v1/;
+
+#include "rk3288-tinker.dtsi"
+
+/ {
+	model = "Rockchip RK3288 Asus Tinker Board S";
+	compatible = "asus,rk3288-tinker-s", "rockchip,rk3288";
+
+	chosen {
+		stdout-path = &uart2;
+	};
+};
+
+&emmc {
+	bus-width = <8>;
+	cap-mmc-highspeed;
+	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
+	max-frequency = <150000000>;
+	mmc-hs200-1_8v;
+	mmc-ddr-1_8v;
+	status = "okay";
+};
diff --git a/board/rockchip/tinker_rk3288/MAINTAINERS b/board/rockchip/tinker_rk3288/MAINTAINERS
index cddceafb6e..ed5de682c9 100644
--- a/board/rockchip/tinker_rk3288/MAINTAINERS
+++ b/board/rockchip/tinker_rk3288/MAINTAINERS
@@ -4,3 +4,10 @@  S:	Maintained
 F:	board/rockchip/tinker_rk3288
 F:	include/configs/tinker_rk3288.h
 F:	configs/tinker-rk3288_defconfig
+
+TINKER-S-RK3288
+M:	Michael Trimarchi <michael@amarulasolutions.com>
+S:	Maintained
+F:	board/rockchip/tinker_rk3288
+F:	include/configs/tinker_rk3288.h
+F:	configs/tinker-s-rk3288_defconfig
diff --git a/board/rockchip/tinker_rk3288/tinker-rk3288.c b/board/rockchip/tinker_rk3288/tinker-rk3288.c
index 6c76c3c25c..7a0c3c997d 100644
--- a/board/rockchip/tinker_rk3288/tinker-rk3288.c
+++ b/board/rockchip/tinker_rk3288/tinker-rk3288.c
@@ -8,6 +8,8 @@ 
 #include <env.h>
 #include <i2c_eeprom.h>
 #include <netdev.h>
+#include <asm/arch-rockchip/bootrom.h>
+#include <asm/io.h>
 
 static int get_ethaddr_from_eeprom(u8 *addr)
 {
@@ -33,3 +35,13 @@  int rk3288_board_late_init(void)
 
 	return 0;
 }
+
+int mmc_get_env_dev(void)
+{
+	u32 bootdevice_brom_id = readl(BROM_BOOTSOURCE_ID_ADDR);
+
+	if (bootdevice_brom_id == BROM_BOOTSOURCE_EMMC)
+		return 0;
+
+	return 1;
+}
diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig
new file mode 100644
index 0000000000..c851a93f31
--- /dev/null
+++ b/configs/tinker-s-rk3288_defconfig
@@ -0,0 +1,99 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_SYS_TEXT_BASE=0x01000000
+CONFIG_SPL_GPIO_SUPPORT=y
+CONFIG_ROCKCHIP_RK3288=y
+CONFIG_TARGET_TINKER_RK3288=y
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_SPL_SIZE_LIMIT=307200
+CONFIG_SPL_STACK_R_ADDR=0x800000
+CONFIG_DEBUG_UART_BASE=0xff690000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART=y
+CONFIG_TPL_SYS_MALLOC_F_LEN=0x4000
+CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+# CONFIG_ANDROID_BOOT_IMAGE is not set
+CONFIG_USE_PREBOOT=y
+CONFIG_SILENT_CONSOLE=y
+CONFIG_CONSOLE_MUX=y
+CONFIG_DEFAULT_FDT_FILE="rk3288-tinker-s.dtb"
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
+CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_POWER_SUPPORT=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_BMP=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SPL_PARTITION_UUIDS=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker-s"
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
+# CONFIG_SPL_SIMPLE_BUS is not set
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
+CONFIG_FASTBOOT_FLASH=y
+CONFIG_FASTBOOT_FLASH_MMC_DEV=0
+CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_MISC=y
+CONFIG_I2C_EEPROM=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_SPI_FLASH=y
+CONFIG_SF_DEFAULT_SPEED=20000000
+CONFIG_DM_ETH=y
+CONFIG_ETH_DESIGNWARE=y
+CONFIG_GMAC_ROCKCHIP=y
+CONFIG_PINCTRL=y
+CONFIG_SPL_PINCTRL=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_RK8XX=y
+CONFIG_SPL_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
+CONFIG_REGULATOR_RK8XX=y
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_RAM=y
+CONFIG_SPL_RAM=y
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYSRESET=y
+CONFIG_USB=y
+CONFIG_USB_DWC2=y
+CONFIG_ROCKCHIP_USB2_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
+CONFIG_USB_GADGET_VENDOR_NUM=0x2207
+CONFIG_USB_GADGET_PRODUCT_NUM=0x320a
+CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_USB_HOST_ETHER=y
+CONFIG_USB_ETHER_ASIX=y
+CONFIG_USB_ETHER_SMSC95XX=y
+CONFIG_CMD_DHRYSTONE=y
+CONFIG_ERRNO_STR=y
+CONFIG_DM_VIDEO=y
+CONFIG_DISPLAY=y
+CONFIG_VIDEO_ROCKCHIP=y
+CONFIG_DISPLAY_ROCKCHIP_HDMI=y
+CONFIG_CONSOLE_SCROLL_LINES=10
diff --git a/include/configs/tinker_rk3288.h b/include/configs/tinker_rk3288.h
index 5adae68c91..f8a55a2cec 100644
--- a/include/configs/tinker_rk3288.h
+++ b/include/configs/tinker_rk3288.h
@@ -12,6 +12,7 @@ 
 #undef BOOT_TARGET_DEVICES
 
 #define BOOT_TARGET_DEVICES(func) \
+	func(MMC, mmc, 0) \
 	func(MMC, mmc, 1) \
 	func(USB, usb, 0) \
 	func(PXE, pxe, na) \