1 // SPDX-License-Identifier: GPL-2.0+
3 * (C) Copyright 2019 Rockchip Electronics Co., Ltd
9 #include <asm/arch/grf_rk3308.h>
10 #include <asm/arch-rockchip/hardware.h>
11 #include <linux/bitops.h>
13 #if defined(CONFIG_DEBUG_UART)
14 #define GRF_BASE 0xff000000
18 GPIO1C7_MASK = GENMASK(11, 8),
26 GPIO1C6_MASK = GENMASK(7, 4),
34 GPIO4D3_MASK = GENMASK(7, 6),
40 GPIO4D2_MASK = GENMASK(5, 4),
45 UART2_IO_SEL_SHIFT = 2,
46 UART2_IO_SEL_MASK = GENMASK(3, 2),
52 void board_debug_uart_init(void)
54 static struct rk3308_grf * const grf = (void *)GRF_BASE;
56 /* Enable early UART2 channel m0 on the rk3308 */
57 rk_clrsetreg(&grf->soc_con5, UART2_IO_SEL_MASK,
58 UART2_IO_SEL_M0 << UART2_IO_SEL_SHIFT);
59 rk_clrsetreg(&grf->gpio1ch_iomux,
60 GPIO1C6_MASK | GPIO1C7_MASK,
61 GPIO1C6_UART2_RX_M0 << GPIO1C6_SHIFT |
62 GPIO1C7_UART2_TX_M0 << GPIO1C7_SHIFT);
66 #define KEY_DOWN_MIN_VAL 0
67 #define KEY_DOWN_MAX_VAL 30
69 int rockchip_dnl_key_pressed(void)
73 if (adc_channel_single_shot("saradc", 1, &val)) {
74 printf("%s read adc key val failed\n", __func__);
78 if (val >= KEY_DOWN_MIN_VAL && val <= KEY_DOWN_MAX_VAL)