[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