[U-Boot] [PATCH v2 4/9] board: rockchip: Add rk3308 evb support
Kever Yang
kever.yang at rock-chips.com
Thu Nov 7 09:33:34 UTC 2019
On 2019/10/30 下午4:11, Andy Yan wrote:
> Add support for rk3308 evaluation board.
>
> Signed-off-by: Andy Yan <andy.yan at rock-chips.com>
Reviewed-by: Kever Yang<kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
>
> Changes in v2: None
>
> arch/arm/mach-rockchip/rk3308/Kconfig | 8 +++
> board/rockchip/evb_rk3308/Kconfig | 15 +++++
> board/rockchip/evb_rk3308/MAINTAINERS | 6 ++
> board/rockchip/evb_rk3308/Makefile | 7 +++
> board/rockchip/evb_rk3308/evb_rk3308.c | 44 +++++++++++++++
> configs/evb-rk3308_defconfig | 77 ++++++++++++++++++++++++++
> include/configs/evb_rk3308.h | 20 +++++++
> 7 files changed, 177 insertions(+)
> create mode 100644 board/rockchip/evb_rk3308/Kconfig
> create mode 100644 board/rockchip/evb_rk3308/MAINTAINERS
> create mode 100644 board/rockchip/evb_rk3308/Makefile
> create mode 100644 board/rockchip/evb_rk3308/evb_rk3308.c
> create mode 100644 configs/evb-rk3308_defconfig
> create mode 100644 include/configs/evb_rk3308.h
>
> diff --git a/arch/arm/mach-rockchip/rk3308/Kconfig b/arch/arm/mach-rockchip/rk3308/Kconfig
> index 9c09661595..c74d1fc7f1 100644
> --- a/arch/arm/mach-rockchip/rk3308/Kconfig
> +++ b/arch/arm/mach-rockchip/rk3308/Kconfig
> @@ -1,5 +1,9 @@
> if ROCKCHIP_RK3308
>
> +config TARGET_EVB_RK3308
> + bool "EVB_RK3308"
> + select BOARD_LATE_INIT
> +
> config SYS_SOC
> default "rk3308"
>
> @@ -11,4 +15,8 @@ config SPL_SERIAL_SUPPORT
>
> config ROCKCHIP_BOOT_MODE_REG
> default 0xff000500
> +
> +
> +source "board/rockchip/evb_rk3308/Kconfig"
> +
> endif
> diff --git a/board/rockchip/evb_rk3308/Kconfig b/board/rockchip/evb_rk3308/Kconfig
> new file mode 100644
> index 0000000000..0074429cb6
> --- /dev/null
> +++ b/board/rockchip/evb_rk3308/Kconfig
> @@ -0,0 +1,15 @@
> +if TARGET_EVB_RK3308
> +
> +config SYS_BOARD
> + default "evb_rk3308"
> +
> +config SYS_VENDOR
> + default "rockchip"
> +
> +config SYS_CONFIG_NAME
> + default "evb_rk3308"
> +
> +config BOARD_SPECIFIC_OPTIONS # dummy
> + def_bool y
> +
> +endif
> diff --git a/board/rockchip/evb_rk3308/MAINTAINERS b/board/rockchip/evb_rk3308/MAINTAINERS
> new file mode 100644
> index 0000000000..0af119ae0a
> --- /dev/null
> +++ b/board/rockchip/evb_rk3308/MAINTAINERS
> @@ -0,0 +1,6 @@
> +EVB-RK3308
> +M: Andy Yan <andy.yan at rock-chips.com>
> +S: Maintained
> +F: board/rockchip/evb_rk3308
> +F: include/configs/evb_rk3308.h
> +F: configs/evb-rk3308_defconfig
> diff --git a/board/rockchip/evb_rk3308/Makefile b/board/rockchip/evb_rk3308/Makefile
> new file mode 100644
> index 0000000000..05de5560f1
> --- /dev/null
> +++ b/board/rockchip/evb_rk3308/Makefile
> @@ -0,0 +1,7 @@
> +#
> +# (C) Copyright 2018 Rockchip Electronics Co., Ltd
> +#
> +# SPDX-License-Identifier: GPL-2.0+
> +#
> +
> +obj-y += evb_rk3308.o
> diff --git a/board/rockchip/evb_rk3308/evb_rk3308.c b/board/rockchip/evb_rk3308/evb_rk3308.c
> new file mode 100644
> index 0000000000..180f1fe4f0
> --- /dev/null
> +++ b/board/rockchip/evb_rk3308/evb_rk3308.c
> @@ -0,0 +1,44 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * (C) Copyright 2018 Rockchip Electronics Co., Ltd
> + */
> +
> +#include <common.h>
> +#include <adc.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +#define KEY_DOWN_MIN_VAL 0
> +#define KEY_DOWN_MAX_VAL 30
> +
> +/*
> + * Two board variants whith adc channel 3 is for board id
> + * v10: 1024, v11: 512
> + * v10: adc channel 0 for dnl key
> + * v11: adc channel 1 for dnl key
> + */
> +int rockchip_dnl_key_pressed(void)
> +{
> + unsigned int key_val, id_val;
> + int key_ch;
> +
> + if (adc_channel_single_shot("saradc", 3, &id_val)) {
> + printf("%s read board id failed\n", __func__);
> + return false;
> + }
> +
> + if (abs(id_val - 1024) <= 30)
> + key_ch = 0;
> + else
> + key_ch = 1;
> +
> + if (adc_channel_single_shot("saradc", key_ch, &key_val)) {
> + printf("%s read adc key val failed\n", __func__);
> + return false;
> + }
> +
> + if (key_val >= KEY_DOWN_MIN_VAL && key_val <= KEY_DOWN_MAX_VAL)
> + return true;
> + else
> + return false;
> +}
> diff --git a/configs/evb-rk3308_defconfig b/configs/evb-rk3308_defconfig
> new file mode 100644
> index 0000000000..36d30dfa80
> --- /dev/null
> +++ b/configs/evb-rk3308_defconfig
> @@ -0,0 +1,77 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_SYS_TEXT_BASE=0x00600000
> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_SYS_MALLOC_F_LEN=0x2000
> +CONFIG_ROCKCHIP_RK3308=y
> +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0
> +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
> +CONFIG_TARGET_EVB_RK3308=y
> +CONFIG_SPL_STACK_R_ADDR=0xc00000
> +CONFIG_DEBUG_UART_BASE=0xFF0C0000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_ANDROID_BOOT_IMAGE=y
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_BOOTDELAY=0
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_SPL_STACK_R=y
> +# CONFIG_CMD_BDI is not set
> +# CONFIG_CMD_CONSOLE is not set
> +# CONFIG_CMD_ELF is not set
> +# CONFIG_CMD_IMI is not set
> +# CONFIG_CMD_XIMG is not set
> +# CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_GPT=y
> +# CONFIG_CMD_LOADB is not set
> +# CONFIG_CMD_LOADS is not set
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
> +# CONFIG_CMD_ITEST is not set
> +# CONFIG_CMD_SETEXPR is not set
> +# CONFIG_CMD_MISC is not set
> +# CONFIG_DOS_PARTITION is not set
> +# CONFIG_ISO_PARTITION is not set
> +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
> +CONFIG_SPL_OF_CONTROL=y
> +CONFIG_OF_LIVE=y
> +CONFIG_DEFAULT_DEVICE_TREE="rk3308-evb"
> +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_REGMAP=y
> +CONFIG_SYSCON=y
> +CONFIG_CLK=y
> +# CONFIG_USB_FUNCTION_FASTBOOT is not set
> +CONFIG_ROCKCHIP_GPIO=y
> +CONFIG_SYS_I2C_ROCKCHIP=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_DW_ROCKCHIP=y
> +CONFIG_DM_ETH=y
> +CONFIG_ETH_DESIGNWARE=y
> +CONFIG_GMAC_ROCKCHIP=y
> +CONFIG_PHY=y
> +CONFIG_PINCTRL=y
> +CONFIG_REGULATOR_PWM=y
> +CONFIG_DM_REGULATOR_FIXED=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_RAM=y
> +CONFIG_DM_RESET=y
> +CONFIG_BAUDRATE=1500000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_DEBUG_UART_SKIP_INIT=y
> +CONFIG_SYSRESET=y
> +CONFIG_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_EHCI_GENERIC=y
> +CONFIG_USB_DWC2=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_DWC2_OTG=y
> +CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_SPL_TINY_MEMSET=y
> +CONFIG_LZ4=y
> +CONFIG_LZO=y
> +CONFIG_ERRNO_STR=y
> +# CONFIG_EFI_LOADER is not set
> diff --git a/include/configs/evb_rk3308.h b/include/configs/evb_rk3308.h
> new file mode 100644
> index 0000000000..fb027c7270
> --- /dev/null
> +++ b/include/configs/evb_rk3308.h
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * (C) Copyright 2018 Rockchip Electronics Co., Ltd
> + */
> +
> +#ifndef __EVB_RK3308_H
> +#define __EVB_RK3308_H
> +
> +#include <configs/rk3308_common.h>
> +
> +#define CONFIG_SUPPORT_EMMC_RPMB
> +#define CONFIG_SYS_MMC_ENV_DEV 0
> +
> +#define ROCKCHIP_DEVICE_SETTINGS \
> + "stdout=serial,vidconsole\0" \
> + "stderr=serial,vidconsole\0"
> +#undef CONFIG_CONSOLE_SCROLL_LINES
> +#define CONFIG_CONSOLE_SCROLL_LINES 10
> +
> +#endif
More information about the U-Boot
mailing list