[U-Boot] [PATCH v3 10/18] ram: rockchip: Add debug sdram driver

Kever Yang kever.yang at rock-chips.com
Tue Jul 16 07:42:12 UTC 2019


On 2019/7/16 上午2:28, Jagan Teki wrote:
> Add sdram driver to handle debug across rockchip SoCs.
>
> This would help to improve code debugging feature for
> sdram drivers in rockchip family, whoever wants to
> debug the driver should call these core debug code on
> their respective platform sdram drivers.
>
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
> Signed-off-by: YouMin Chen <cym at rock-chips.com>

Reviewed-by: Kever Yang <Kever.yang at rock-chips.com>

Thanks,
  - Kever
> ---
>   .../include/asm/arch-rockchip/sdram_common.h  |  9 +++++
>   drivers/ram/rockchip/Kconfig                  |  9 +++++
>   drivers/ram/rockchip/Makefile                 |  1 +
>   drivers/ram/rockchip/sdram_debug.c            | 34 +++++++++++++++++++
>   4 files changed, 53 insertions(+)
>   create mode 100644 drivers/ram/rockchip/sdram_debug.c
>
> diff --git a/arch/arm/include/asm/arch-rockchip/sdram_common.h b/arch/arm/include/asm/arch-rockchip/sdram_common.h
> index 7ac25af327..171b233f95 100644
> --- a/arch/arm/include/asm/arch-rockchip/sdram_common.h
> +++ b/arch/arm/include/asm/arch-rockchip/sdram_common.h
> @@ -92,4 +92,13 @@ size_t rockchip_sdram_size(phys_addr_t reg);
>   
>   /* Called by U-Boot board_init_r for Rockchip SoCs */
>   int dram_init(void);
> +
> +#if !defined(CONFIG_RAM_ROCKCHIP_DEBUG)
> +inline void sdram_print_dram_type(unsigned char dramtype)
> +{
> +}
> +#else
> +void sdram_print_dram_type(unsigned char dramtype);
> +#endif /* CONFIG_RAM_ROCKCHIP_DEBUG */
> +
>   #endif
> diff --git a/drivers/ram/rockchip/Kconfig b/drivers/ram/rockchip/Kconfig
> index 995cb487b8..151ffb684d 100644
> --- a/drivers/ram/rockchip/Kconfig
> +++ b/drivers/ram/rockchip/Kconfig
> @@ -7,6 +7,15 @@ config RAM_ROCKCHIP
>   
>   if RAM_ROCKCHIP
>   
> +config RAM_ROCKCHIP_DEBUG
> +	bool "Rockchip ram drivers debugging"
> +	help
> +	  This enables debugging ram driver API's for the platforms
> +	  based on Rockchip SoCs.
> +
> +	  This is an option for developers to understand the ram drivers
> +	  initialization, configurations and etc.
> +
>   config RAM_RK3399
>   	bool "Ram driver for Rockchip RK3399"
>   	default ROCKCHIP_RK3399
> diff --git a/drivers/ram/rockchip/Makefile b/drivers/ram/rockchip/Makefile
> index 07d4b62a9d..feb1f82d00 100644
> --- a/drivers/ram/rockchip/Makefile
> +++ b/drivers/ram/rockchip/Makefile
> @@ -3,6 +3,7 @@
>   # Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
>   #
>   
> +obj-$(CONFIG_RAM_ROCKCHIP_DEBUG) += sdram_debug.o
>   obj-$(CONFIG_ROCKCHIP_RK3368) = dmc-rk3368.o
>   obj-$(CONFIG_ROCKCHIP_RK3128) = sdram_rk3128.o
>   obj-$(CONFIG_ROCKCHIP_RK3188) = sdram_rk3188.o
> diff --git a/drivers/ram/rockchip/sdram_debug.c b/drivers/ram/rockchip/sdram_debug.c
> new file mode 100644
> index 0000000000..c13e140fa5
> --- /dev/null
> +++ b/drivers/ram/rockchip/sdram_debug.c
> @@ -0,0 +1,34 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * (C) Copyright 2019 Rockchip Electronics Co., Ltd
> + * (C) Copyright 2019 Amarula Solutions.
> + * Author: Jagan Teki <jagan at amarulasolutions.com>
> + */
> +
> +#include <common.h>
> +#include <debug_uart.h>
> +#include <asm/arch-rockchip/sdram_common.h>
> +
> +void sdram_print_dram_type(unsigned char dramtype)
> +{
> +	switch (dramtype) {
> +	case DDR3:
> +		printascii("DDR3");
> +		break;
> +	case DDR4:
> +		printascii("DDR4");
> +		break;
> +	case LPDDR2:
> +		printascii("LPDDR2");
> +		break;
> +	case LPDDR3:
> +		printascii("LPDDR3");
> +		break;
> +	case LPDDR4:
> +		printascii("LPDDR4");
> +		break;
> +	default:
> +		printascii("Unknown Device");
> +		break;
> +	}
> +}




More information about the U-Boot mailing list