[U-Boot] [PATCH v2 08/10] rockchip: rk3368: move board_debug_uart_init() to rk3368.c

Andy Yan andyshrk at gmail.com
Mon Apr 29 09:22:28 UTC 2019


Kever Yang <kever.yang at rock-chips.com> 于2019年3月29日周五 上午9:12写道:

> Move the function to soc file so
> that we can find all the soc/board setting in soc file and
> use a common board file later for all rockchip SoCs.
>
> Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
> ---
>
>  arch/arm/mach-rockchip/rk3368-board-spl.c |  8 ------
>  arch/arm/mach-rockchip/rk3368-board-tpl.c | 33 +----------------------
>  arch/arm/mach-rockchip/rk3368/rk3368.c    | 31 +++++++++++++++++++++
>  3 files changed, 32 insertions(+), 40 deletions(-)
>
>
Tested-by: Andy Yan <andy.yan at rock-chips.com>


> diff --git a/arch/arm/mach-rockchip/rk3368-board-spl.c
> b/arch/arm/mach-rockchip/rk3368-board-spl.c
> index 9dea4ed994..b055ed4aee 100644
> --- a/arch/arm/mach-rockchip/rk3368-board-spl.c
> +++ b/arch/arm/mach-rockchip/rk3368-board-spl.c
> @@ -9,17 +9,9 @@
>  #include <ram.h>
>  #include <spl.h>
>  #include <asm/io.h>
> -#include <asm/arch-rockchip/cru_rk3368.h>
> -#include <asm/arch-rockchip/grf_rk3368.h>
> -#include <asm/arch-rockchip/hardware.h>
>  #include <asm/arch-rockchip/periph.h>
> -#include <asm/arch-rockchip/timer.h>
>  #include <dm/pinctrl.h>
>
> -void board_debug_uart_init(void)
> -{
> -}
> -
>  void board_init_f(ulong dummy)
>  {
>         struct udevice *pinctrl;
> diff --git a/arch/arm/mach-rockchip/rk3368-board-tpl.c
> b/arch/arm/mach-rockchip/rk3368-board-tpl.c
> index 373f009414..dc65a021c8 100644
> --- a/arch/arm/mach-rockchip/rk3368-board-tpl.c
> +++ b/arch/arm/mach-rockchip/rk3368-board-tpl.c
> @@ -13,7 +13,6 @@
>  #include <asm/arch-rockchip/bootrom.h>
>  #include <asm/arch-rockchip/clock.h>
>  #include <asm/arch-rockchip/cru_rk3368.h>
> -#include <asm/arch-rockchip/grf_rk3368.h>
>  #include <asm/arch-rockchip/hardware.h>
>  #include <asm/arch-rockchip/timer.h>
>
> @@ -79,42 +78,12 @@ static void sgrf_init(void)
>         rk_clrreg(&cru->softrst_con[4], DMA2_SRST_REQ);
>  }
>
> -void board_debug_uart_init(void)
> -{
> -       /*
> -        * N.B.: This is called before the device-model has been
> -        *       initialised. For this reason, we can not access
> -        *       the GRF address range using the syscon API.
> -        */
> -       struct rk3368_grf * const grf =
> -               (struct rk3368_grf * const)0xff770000;
> -
> -       enum {
> -               GPIO2D1_MASK            = GENMASK(3, 2),
> -               GPIO2D1_GPIO            = 0,
> -               GPIO2D1_UART0_SOUT      = (1 << 2),
> -
> -               GPIO2D0_MASK            = GENMASK(1, 0),
> -               GPIO2D0_GPIO            = 0,
> -               GPIO2D0_UART0_SIN       = (1 << 0),
> -       };
> -
> -#if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE ==
> 0xff180000)
> -       /* Enable early UART0 on the RK3368 */
> -       rk_clrsetreg(&grf->gpio2d_iomux,
> -                    GPIO2D0_MASK, GPIO2D0_UART0_SIN);
> -       rk_clrsetreg(&grf->gpio2d_iomux,
> -                    GPIO2D1_MASK, GPIO2D1_UART0_SOUT);
> -#endif
> -}
> -
>  void board_init_f(ulong dummy)
>  {
>         struct udevice *dev;
>         int ret;
>
> -#define EARLY_UART
> -#ifdef EARLY_UART
> +#ifdef CONFIG_DEBUG_UART
>         /*
>          * Debug UART can be used from here if required:
>          *
> diff --git a/arch/arm/mach-rockchip/rk3368/rk3368.c
> b/arch/arm/mach-rockchip/rk3368/rk3368.c
> index 197f0c485a..1ed06c5352 100644
> --- a/arch/arm/mach-rockchip/rk3368/rk3368.c
> +++ b/arch/arm/mach-rockchip/rk3368/rk3368.c
> @@ -96,3 +96,34 @@ int arch_early_init_r(void)
>         return mcu_init();
>  }
>  #endif
> +
> +#ifdef CONFIG_DEBUG_UART_BOARD_INIT
> +void board_debug_uart_init(void)
> +{
> +       /*
> +        * N.B.: This is called before the device-model has been
> +        *       initialised. For this reason, we can not access
> +        *       the GRF address range using the syscon API.
> +        */
> +#if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE ==
> 0xff180000)
> +       struct rk3368_grf * const grf =
> +               (struct rk3368_grf * const)0xff770000;
> +
> +       enum {
> +               GPIO2D1_MASK            = GENMASK(3, 2),
> +               GPIO2D1_GPIO            = 0,
> +               GPIO2D1_UART0_SOUT      = (1 << 2),
> +
> +               GPIO2D0_MASK            = GENMASK(1, 0),
> +               GPIO2D0_GPIO            = 0,
> +               GPIO2D0_UART0_SIN       = (1 << 0),
> +       };
> +
> +       /* Enable early UART0 on the RK3368 */
> +       rk_clrsetreg(&grf->gpio2d_iomux,
> +                    GPIO2D0_MASK, GPIO2D0_UART0_SIN);
> +       rk_clrsetreg(&grf->gpio2d_iomux,
> +                    GPIO2D1_MASK, GPIO2D1_UART0_SOUT);
> +#endif
> +}
> +#endif
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
>


More information about the U-Boot mailing list