Commit 208b8cd646a7c3be64a45dfb154e4e2dd2b39ad0
Committed by
Kever Yang
1 parent
9ce3de1b18
Exists in
smarc_8mq_lf_v2020.04
and in
9 other branches
rockchip: rk3308: Add support for ROC-RK3308-CC board
ROC-RK3308-CC is a rk3308 based board designed by Firelfy, with eMMC and 256MB DDR3 and RTL8188 Wifi on board. Signed-off-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Showing 7 changed files with 210 additions and 0 deletions Side-by-side Diff
arch/arm/mach-rockchip/rk3308/Kconfig
... | ... | @@ -4,6 +4,10 @@ |
4 | 4 | bool "EVB_RK3308" |
5 | 5 | select BOARD_LATE_INIT |
6 | 6 | |
7 | +config TARGET_ROC_RK3308_CC | |
8 | + bool "Firefly roc-rk3308-cc" | |
9 | + select BOARD_LATE_INIT | |
10 | + | |
7 | 11 | config SYS_SOC |
8 | 12 | default "rk3308" |
9 | 13 | |
... | ... | @@ -18,6 +22,7 @@ |
18 | 22 | |
19 | 23 | |
20 | 24 | source "board/rockchip/evb_rk3308/Kconfig" |
25 | +source "board/firefly/firefly-rk3308/Kconfig" | |
21 | 26 | |
22 | 27 | endif |
board/firefly/firefly-rk3308/Kconfig
board/firefly/firefly-rk3308/MAINTAINERS
board/firefly/firefly-rk3308/Makefile
board/firefly/firefly-rk3308/roc_cc_rk3308.c
1 | +// SPDX-License-Identifier: GPL-2.0+ | |
2 | +/* | |
3 | + * (C) Copyright 2019 Rockchip Electronics Co., Ltd | |
4 | + */ | |
5 | + | |
6 | +#include <common.h> | |
7 | +#include <adc.h> | |
8 | +#include <asm/io.h> | |
9 | +#include <asm/arch/grf_rk3308.h> | |
10 | +#include <asm/arch-rockchip/hardware.h> | |
11 | + | |
12 | +#if defined(CONFIG_DEBUG_UART) | |
13 | +#define GRF_BASE 0xff000000 | |
14 | + | |
15 | +enum { | |
16 | + GPIO1C7_SHIFT = 8, | |
17 | + GPIO1C7_MASK = GENMASK(11, 8), | |
18 | + GPIO1C7_GPIO = 0, | |
19 | + GPIO1C7_UART1_RTSN, | |
20 | + GPIO1C7_UART2_TX_M0, | |
21 | + GPIO1C7_SPI2_MOSI, | |
22 | + GPIO1C7_JTAG_TMS, | |
23 | + | |
24 | + GPIO1C6_SHIFT = 4, | |
25 | + GPIO1C6_MASK = GENMASK(7, 4), | |
26 | + GPIO1C6_GPIO = 0, | |
27 | + GPIO1C6_UART1_CTSN, | |
28 | + GPIO1C6_UART2_RX_M0, | |
29 | + GPIO1C6_SPI2_MISO, | |
30 | + GPIO1C6_JTAG_TCLK, | |
31 | + | |
32 | + GPIO4D3_SHIFT = 6, | |
33 | + GPIO4D3_MASK = GENMASK(7, 6), | |
34 | + GPIO4D3_GPIO = 0, | |
35 | + GPIO4D3_SDMMC_D3, | |
36 | + GPIO4D3_UART2_TX_M1, | |
37 | + | |
38 | + GPIO4D2_SHIFT = 4, | |
39 | + GPIO4D2_MASK = GENMASK(5, 4), | |
40 | + GPIO4D2_GPIO = 0, | |
41 | + GPIO4D2_SDMMC_D2, | |
42 | + GPIO4D2_UART2_RX_M1, | |
43 | + | |
44 | + UART2_IO_SEL_SHIFT = 2, | |
45 | + UART2_IO_SEL_MASK = GENMASK(3, 2), | |
46 | + UART2_IO_SEL_M0 = 0, | |
47 | + UART2_IO_SEL_M1, | |
48 | + UART2_IO_SEL_USB, | |
49 | +}; | |
50 | + | |
51 | +void board_debug_uart_init(void) | |
52 | +{ | |
53 | + static struct rk3308_grf * const grf = (void *)GRF_BASE; | |
54 | + | |
55 | + /* Enable early UART2 channel m0 on the rk3308 */ | |
56 | + rk_clrsetreg(&grf->soc_con5, UART2_IO_SEL_MASK, | |
57 | + UART2_IO_SEL_M0 << UART2_IO_SEL_SHIFT); | |
58 | + rk_clrsetreg(&grf->gpio1ch_iomux, | |
59 | + GPIO1C6_MASK | GPIO1C7_MASK, | |
60 | + GPIO1C6_UART2_RX_M0 << GPIO1C6_SHIFT | | |
61 | + GPIO1C7_UART2_TX_M0 << GPIO1C7_SHIFT); | |
62 | +} | |
63 | +#endif | |
64 | + | |
65 | +#define KEY_DOWN_MIN_VAL 0 | |
66 | +#define KEY_DOWN_MAX_VAL 30 | |
67 | + | |
68 | +int rockchip_dnl_key_pressed(void) | |
69 | +{ | |
70 | + unsigned int val; | |
71 | + | |
72 | + if (adc_channel_single_shot("saradc", 1, &val)) { | |
73 | + printf("%s read adc key val failed\n", __func__); | |
74 | + return false; | |
75 | + } | |
76 | + | |
77 | + if (val >= KEY_DOWN_MIN_VAL && val <= KEY_DOWN_MAX_VAL) | |
78 | + return true; | |
79 | + else | |
80 | + return false; | |
81 | +} |
configs/roc-cc-rk3308_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_ROCKCHIP=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x00600000 | |
4 | +CONFIG_SPL_LIBCOMMON_SUPPORT=y | |
5 | +CONFIG_SPL_LIBGENERIC_SUPPORT=y | |
6 | +CONFIG_SYS_MALLOC_F_LEN=0x2000 | |
7 | +CONFIG_ROCKCHIP_RK3308=y | |
8 | +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x0 | |
9 | +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y | |
10 | +CONFIG_TARGET_ROC_RK3308_CC=y | |
11 | +CONFIG_SPL_STACK_R_ADDR=0xc00000 | |
12 | +CONFIG_DEBUG_UART_BASE=0xFF0C0000 | |
13 | +CONFIG_DEBUG_UART_CLOCK=24000000 | |
14 | +CONFIG_DEBUG_UART=y | |
15 | +CONFIG_ANDROID_BOOT_IMAGE=y | |
16 | +CONFIG_FIT=y | |
17 | +CONFIG_FIT_VERBOSE=y | |
18 | +CONFIG_BOOTDELAY=0 | |
19 | +CONFIG_SYS_CONSOLE_INFO_QUIET=y | |
20 | +# CONFIG_DISPLAY_CPUINFO is not set | |
21 | +CONFIG_SPL_STACK_R=y | |
22 | +# CONFIG_CMD_BDI is not set | |
23 | +# CONFIG_CMD_CONSOLE is not set | |
24 | +# CONFIG_CMD_ELF is not set | |
25 | +# CONFIG_CMD_IMI is not set | |
26 | +# CONFIG_CMD_XIMG is not set | |
27 | +# CONFIG_CMD_FLASH is not set | |
28 | +CONFIG_CMD_GPT=y | |
29 | +# CONFIG_CMD_LOADB is not set | |
30 | +# CONFIG_CMD_LOADS is not set | |
31 | +CONFIG_CMD_MMC=y | |
32 | +CONFIG_CMD_USB=y | |
33 | +CONFIG_CMD_USB_MASS_STORAGE=y | |
34 | +# CONFIG_CMD_ITEST is not set | |
35 | +# CONFIG_CMD_SETEXPR is not set | |
36 | +# CONFIG_CMD_MISC is not set | |
37 | +# CONFIG_DOS_PARTITION is not set | |
38 | +# CONFIG_ISO_PARTITION is not set | |
39 | +CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64 | |
40 | +CONFIG_SPL_OF_CONTROL=y | |
41 | +CONFIG_OF_LIVE=y | |
42 | +CONFIG_DEFAULT_DEVICE_TREE="rk3308-roc-cc" | |
43 | +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" | |
44 | +CONFIG_REGMAP=y | |
45 | +CONFIG_SYSCON=y | |
46 | +CONFIG_CLK=y | |
47 | +# CONFIG_USB_FUNCTION_FASTBOOT is not set | |
48 | +CONFIG_ROCKCHIP_GPIO=y | |
49 | +CONFIG_SYS_I2C_ROCKCHIP=y | |
50 | +CONFIG_MMC_DW=y | |
51 | +CONFIG_MMC_DW_ROCKCHIP=y | |
52 | +CONFIG_DM_ETH=y | |
53 | +CONFIG_ETH_DESIGNWARE=y | |
54 | +CONFIG_GMAC_ROCKCHIP=y | |
55 | +CONFIG_PHY=y | |
56 | +CONFIG_PINCTRL=y | |
57 | +CONFIG_REGULATOR_PWM=y | |
58 | +CONFIG_DM_REGULATOR_FIXED=y | |
59 | +CONFIG_PWM_ROCKCHIP=y | |
60 | +CONFIG_RAM=y | |
61 | +CONFIG_DM_RESET=y | |
62 | +CONFIG_BAUDRATE=1500000 | |
63 | +CONFIG_DEBUG_UART_SHIFT=2 | |
64 | +CONFIG_DEBUG_UART_SKIP_INIT=y | |
65 | +CONFIG_SYSRESET=y | |
66 | +CONFIG_USB=y | |
67 | +CONFIG_USB_EHCI_HCD=y | |
68 | +CONFIG_USB_EHCI_GENERIC=y | |
69 | +CONFIG_USB_DWC2=y | |
70 | +CONFIG_USB_GADGET=y | |
71 | +CONFIG_USB_GADGET_DWC2_OTG=y | |
72 | +CONFIG_USB_GADGET_DOWNLOAD=y | |
73 | +CONFIG_SPL_TINY_MEMSET=y | |
74 | +CONFIG_LZ4=y | |
75 | +CONFIG_LZO=y | |
76 | +CONFIG_ERRNO_STR=y | |
77 | +# CONFIG_EFI_LOADER is not set |
include/configs/firefly_rk3308.h
1 | +/* SPDX-License-Identifier: GPL-2.0+ */ | |
2 | +/* | |
3 | + * (C) Copyright 2019 Rockchip Electronics Co., Ltd | |
4 | + */ | |
5 | + | |
6 | +#ifndef __FIREFLY_RK3308_H | |
7 | +#define __FIREFLY_RK3308_H | |
8 | + | |
9 | +#include <configs/rk3308_common.h> | |
10 | + | |
11 | +#define CONFIG_SUPPORT_EMMC_RPMB | |
12 | +#define CONFIG_SYS_MMC_ENV_DEV 0 | |
13 | + | |
14 | +#define ROCKCHIP_DEVICE_SETTINGS \ | |
15 | + "stdout=serial,vidconsole\0" \ | |
16 | + "stderr=serial,vidconsole\0" | |
17 | +#undef CONFIG_CONSOLE_SCROLL_LINES | |
18 | +#define CONFIG_CONSOLE_SCROLL_LINES 10 | |
19 | + | |
20 | +#endif |