On 07/27/2017 06:36 AM, tien.fong.c...@intel.com wrote:
> From: Tien Fong Chee <tien.fong.c...@intel.com>
> 
> Remove unused FPGA feature for saving some space in gen5 SPL.

I really dislike the ifdefery. Why is this patch even needed?
I thought we had no space problems in the Gen5 SPL?

> Signed-off-by: Tien Fong Chee <tien.fong.c...@intel.com>
> ---
>  arch/arm/mach-socfpga/reset_manager_gen5.c  |    9 +++++++++
>  arch/arm/mach-socfpga/system_manager_gen5.c |    6 ------
>  drivers/ddr/altera/sdram.c                  |    8 +++++++-
>  3 files changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/mach-socfpga/reset_manager_gen5.c 
> b/arch/arm/mach-socfpga/reset_manager_gen5.c
> index aa88adb..c954063 100644
> --- a/arch/arm/mach-socfpga/reset_manager_gen5.c
> +++ b/arch/arm/mach-socfpga/reset_manager_gen5.c
> @@ -97,6 +97,14 @@ void socfpga_bridges_reset(int enable)
>               writel(0, &sysmgr_regs->iswgrp_handoff[0]);
>               writel(l3mask, &sysmgr_regs->iswgrp_handoff[1]);
>  
> +/*
> + * FPGA feature is not required in SPL, so FPGA bridges release from reset
> + * should not be supported in SPL, but some FPGA releated setting can be 
> stored
> + * in handoff registers as SPL to U-boot/OS handoff information. These
> + * handoff information can be used in later phase such as feeding handoff
> + * information to bridge command when user want to enable FPGA feature in 
> U-boot
> + */
> +#ifndef CONFIG_SPL_BUILD
>               /* Check signal from FPGA. */
>               if (!fpgamgr_test_fpga_ready()) {
>                       /* FPGA not ready, do nothing. We allow system to boot
> @@ -110,6 +118,7 @@ void socfpga_bridges_reset(int enable)
>  
>               /* Remap the bridges into memory map */
>               writel(l3mask, SOCFPGA_L3REGS_ADDRESS);

I believe the L3REGS needs to be programmed on Gen5.

> +#endif
>       }
>       return;
>  }
> diff --git a/arch/arm/mach-socfpga/system_manager_gen5.c 
> b/arch/arm/mach-socfpga/system_manager_gen5.c
> index 3588a57..ee25496 100644
> --- a/arch/arm/mach-socfpga/system_manager_gen5.c
> +++ b/arch/arm/mach-socfpga/system_manager_gen5.c
> @@ -43,12 +43,6 @@ static void populate_sysmgr_fpgaintf_module(void)
>       /* populate (not writing) the value for SYSMGR.FPGAINTF.MODULE
>       based on pinmux setting */
>       setbits_le32(&sysmgr_regs->iswgrp_handoff[2], handoff_val);
> -
> -     handoff_val = readl(&sysmgr_regs->iswgrp_handoff[2]);
> -     if (fpgamgr_test_fpga_ready()) {
> -             /* Enable the required signals only */
> -             writel(handoff_val, &sysmgr_regs->fpgaintfgrp_module);
> -     }
>  }
>  
>  /*
> diff --git a/drivers/ddr/altera/sdram.c b/drivers/ddr/altera/sdram.c
> index e74c5b0..df16102 100644
> --- a/drivers/ddr/altera/sdram.c
> +++ b/drivers/ddr/altera/sdram.c
> @@ -233,6 +233,7 @@ static void sdram_dump_protection_config(void)
>       }
>  }
>  
> +#ifndef CONFIG_SPL_BUILD
>  /**
>   * sdram_write_verify() - write to register and verify the write.
>   * @addr:    Register address
> @@ -259,6 +260,7 @@ static unsigned sdram_write_verify(const u32 *addr, const 
> u32 val)
>       debug("correct!\n");
>       return 0;
>  }
> +#endif
>  
>  /**
>   * sdr_get_ctrlcfg() - Get the value of DRAM CTRLCFG register
> @@ -435,7 +437,6 @@ int sdram_mmr_init_full(unsigned int sdr_phy_reg)
>       const unsigned int rows =
>               (cfg->dram_addrw & SDR_CTRLGRP_DRAMADDRW_ROWBITS_MASK) >>
>                       SDR_CTRLGRP_DRAMADDRW_ROWBITS_LSB;
> -     int ret;
>  
>       writel(rows, &sysmgr_regs->iswgrp_handoff[4]);
>  
> @@ -444,13 +445,18 @@ int sdram_mmr_init_full(unsigned int sdr_phy_reg)
>       /* saving this value to SYSMGR.ISWGRP.HANDOFF.FPGA2SDR */
>       writel(cfg->fpgaport_rst, &sysmgr_regs->iswgrp_handoff[3]);
>  
> +     /* FPGA feature is not required in SPL, so no test on FPGA reset in SPL 
> */
> +#ifndef CONFIG_SPL_BUILD
>       /* only enable if the FPGA is programmed */
> +     int ret;
> +
>       if (fpgamgr_test_fpga_ready()) {
>               ret = sdram_write_verify(&sdr_ctrl->fpgaport_rst,
>                                        cfg->fpgaport_rst);
>               if (ret)
>                       return ret;
>       }
> +#endif
>  
>       /* Restore the SDR PHY Register if valid */
>       if (sdr_phy_reg != 0xffffffff)
> 


-- 
Best regards,
Marek Vasut
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to