[PATCH v7 2/6] rockchip: px30: Add support for using SFC
Kever Yang
kever.yang at rock-chips.com
Wed Aug 11 12:19:40 CEST 2021
On 2021/8/5 下午4:26, Jon Lin wrote:
> From: Chris Morgan <macromorgan at hotmail.com>
>
> This patch adds support for setting the correct pin configuration
> for the Rockchip Serial Flash Controller found on the PX30.
>
> Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
> Signed-off-by: Jon Lin <jon.lin at rock-chips.com>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
>
> (no changes since v1)
>
> arch/arm/mach-rockchip/px30/px30.c | 64 ++++++++++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/arch/arm/mach-rockchip/px30/px30.c b/arch/arm/mach-rockchip/px30/px30.c
> index 6fcef63c1b..be70d30cc8 100644
> --- a/arch/arm/mach-rockchip/px30/px30.c
> +++ b/arch/arm/mach-rockchip/px30/px30.c
> @@ -51,6 +51,57 @@ struct mm_region *mem_map = px30_mem_map;
>
> #define QOS_PRIORITY_LEVEL(h, l) ((((h) & 3) << 8) | ((l) & 3))
>
> +/* GRF_GPIO1AL_IOMUX */
> +enum {
> + GPIO1A3_SHIFT = 12,
> + GPIO1A3_MASK = 0xf << GPIO1A3_SHIFT,
> + GPIO1A3_GPIO = 0,
> + GPIO1A3_FLASH_D3,
> + GPIO1A3_EMMC_D3,
> + GPIO1A3_SFC_SIO3,
> +
> + GPIO1A2_SHIFT = 8,
> + GPIO1A2_MASK = 0xf << GPIO1A2_SHIFT,
> + GPIO1A2_GPIO = 0,
> + GPIO1A2_FLASH_D2,
> + GPIO1A2_EMMC_D2,
> + GPIO1A2_SFC_SIO2,
> +
> + GPIO1A1_SHIFT = 4,
> + GPIO1A1_MASK = 0xf << GPIO1A1_SHIFT,
> + GPIO1A1_GPIO = 0,
> + GPIO1A1_FLASH_D1,
> + GPIO1A1_EMMC_D1,
> + GPIO1A1_SFC_SIO1,
> +
> + GPIO1A0_SHIFT = 0,
> + GPIO1A0_MASK = 0xf << GPIO1A0_SHIFT,
> + GPIO1A0_GPIO = 0,
> + GPIO1A0_FLASH_D0,
> + GPIO1A0_EMMC_D0,
> + GPIO1A0_SFC_SIO0,
> +};
> +
> +/* GRF_GPIO1AH_IOMUX */
> +enum {
> + GPIO1A4_SHIFT = 0,
> + GPIO1A4_MASK = 0xf << GPIO1A4_SHIFT,
> + GPIO1A4_GPIO = 0,
> + GPIO1A4_FLASH_D4,
> + GPIO1A4_EMMC_D4,
> + GPIO1A4_SFC_CSN0,
> +};
> +
> +/* GRF_GPIO1BL_IOMUX */
> +enum {
> + GPIO1B1_SHIFT = 4,
> + GPIO1B1_MASK = 0xf << GPIO1B1_SHIFT,
> + GPIO1B1_GPIO = 0,
> + GPIO1B1_FLASH_RDY,
> + GPIO1B1_EMMC_CLKOUT,
> + GPIO1B1_SFC_CLK,
> +};
> +
> /* GRF_GPIO1BH_IOMUX */
> enum {
> GPIO1B7_SHIFT = 12,
> @@ -193,6 +244,19 @@ int arch_cpu_init(void)
> GPIO1D4_SDMMC_D2 << GPIO1D4_SHIFT);
> #endif
>
> +#ifdef CONFIG_ROCKCHIP_SFC
> + rk_clrsetreg(&grf->gpio1al_iomux,
> + GPIO1A3_MASK | GPIO1A2_MASK | GPIO1A1_MASK | GPIO1A0_MASK,
> + GPIO1A3_SFC_SIO3 << GPIO1A3_SHIFT |
> + GPIO1A2_SFC_SIO2 << GPIO1A2_SHIFT |
> + GPIO1A1_SFC_SIO1 << GPIO1A1_SHIFT |
> + GPIO1A0_SFC_SIO0 << GPIO1A0_SHIFT);
> + rk_clrsetreg(&grf->gpio1ah_iomux, GPIO1A4_MASK,
> + GPIO1A4_SFC_CSN0 << GPIO1A4_SHIFT);
> + rk_clrsetreg(&grf->gpio1bl_iomux, GPIO1B1_MASK,
> + GPIO1B1_SFC_CLK << GPIO1B1_SHIFT);
> +#endif
> +
> #endif
>
> /* Enable PD_VO (default disable at reset) */
More information about the U-Boot
mailing list