diff options
| author | Tom Rini <trini@konsulko.com> | 2022-03-30 18:07:23 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2022-04-08 10:46:22 -0400 | 
| commit | 55b3ba4c2ba4c464491604c5da63debae72aa5c6 (patch) | |
| tree | d9c1f95b2ba4e6b44b917431a764afcced7fe72b /drivers/spi | |
| parent | 5d14c336b21da34d07e93b5689ccffd52b8cc658 (diff) | |
spi: cadence_qspi: Migrate CONFIG_CQSPI_REF_CLK to Kconfig
This is a little tricky since SoCFPGA has code to determine this as
runtime.  Introduce a guard variable for platforms to select if they
have a static value to use.  Then for ARCH_SOCFPGA, call
cm_get_qspi_controller_clk_hz() and otherwise continue the previous
behavior.
Cc: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'drivers/spi')
| -rw-r--r-- | drivers/spi/Kconfig | 8 | ||||
| -rw-r--r-- | drivers/spi/cadence_qspi.c | 4 | ||||
| -rw-r--r-- | drivers/spi/cadence_qspi.h | 1 | 
3 files changed, 12 insertions, 1 deletions
| diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 423a7571411..8dba95ae4ea 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -128,6 +128,14 @@ config CADENCE_QSPI  	  used to access the SPI NOR flash on platforms embedding this  	  Cadence IP core. +config HAS_CQSPI_REF_CLK +	bool "Cadence QSPI static reference clock" +	depends on CADENCE_QSPI + +config CQSPI_REF_CLK +	int "Cadence QSPI reference clock value in Hz" +	depends on HAS_CQSPI_REF_CLK +  config CF_SPI          bool "ColdFire SPI driver"          help diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c index db680618ee9..7209bb43a77 100644 --- a/drivers/spi/cadence_qspi.c +++ b/drivers/spi/cadence_qspi.c @@ -188,8 +188,10 @@ static int cadence_spi_probe(struct udevice *bus)  	if (plat->ref_clk_hz == 0) {  		ret = clk_get_by_index(bus, 0, &clk);  		if (ret) { -#ifdef CONFIG_CQSPI_REF_CLK +#ifdef CONFIG_HAS_CQSPI_REF_CLK  			plat->ref_clk_hz = CONFIG_CQSPI_REF_CLK; +#elif defined(CONFIG_ARCH_SOCFPGA) +			plat->ref_clk_hz = cm_get_qspi_controller_clk_hz();  #else  			return ret;  #endif diff --git a/drivers/spi/cadence_qspi.h b/drivers/spi/cadence_qspi.h index 19345cac5a0..a2b620a5fe2 100644 --- a/drivers/spi/cadence_qspi.h +++ b/drivers/spi/cadence_qspi.h @@ -95,5 +95,6 @@ void cadence_qspi_apb_delay(void *reg_base,  void cadence_qspi_apb_enter_xip(void *reg_base, char xip_dummy);  void cadence_qspi_apb_readdata_capture(void *reg_base,  	unsigned int bypass, unsigned int delay); +unsigned int cm_get_qspi_controller_clk_hz(void);  #endif /* __CADENCE_QSPI_H__ */ | 
