From 01219541289e8081054d4a57924ee169339f1eaf Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Mon, 30 Mar 2020 16:38:22 +0200 Subject: bsp/imx: Add an extra ecspi clock. Some imx chips or boards don't use the same frequency for ECSPI and IPG. Update #3869 --- bsps/arm/imx/include/arm/freescale/imx/imx_ccmvar.h | 3 +++ bsps/arm/imx/spi/imx-ecspi.c | 2 +- bsps/arm/imx/start/ccm.c | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'bsps/arm/imx') diff --git a/bsps/arm/imx/include/arm/freescale/imx/imx_ccmvar.h b/bsps/arm/imx/include/arm/freescale/imx/imx_ccmvar.h index 5633de6f50..0f19d80813 100644 --- a/bsps/arm/imx/include/arm/freescale/imx/imx_ccmvar.h +++ b/bsps/arm/imx/include/arm/freescale/imx/imx_ccmvar.h @@ -48,6 +48,9 @@ uint32_t imx_ccm_perclk_hz(void); uint32_t imx_ccm_sdhci_hz(void); uint32_t imx_ccm_uart_hz(void); uint32_t imx_ccm_ahb_hz(void); +#ifdef __rtems__ +uint32_t imx_ccm_ecspi_hz(void); +#endif /* __rtems__ */ #ifndef __rtems__ void imx_ccm_usb_enable(device_t _usbdev); diff --git a/bsps/arm/imx/spi/imx-ecspi.c b/bsps/arm/imx/spi/imx-ecspi.c index 4c4978cdac..a18047f2e0 100644 --- a/bsps/arm/imx/spi/imx-ecspi.c +++ b/bsps/arm/imx/spi/imx-ecspi.c @@ -435,7 +435,7 @@ int spi_bus_register_imx(const char *bus_path, const char *alias_or_path) return -1; } - bus->base.max_speed_hz = imx_ccm_ipg_hz(); + bus->base.max_speed_hz = imx_ccm_ecspi_hz(); bus->base.delay_usecs = 1; bus->regs = imx_get_reg_of_node(fdt, node); bus->irq = imx_get_irq_of_node(fdt, node, 0); diff --git a/bsps/arm/imx/start/ccm.c b/bsps/arm/imx/start/ccm.c index cc93dcbd5d..3487470357 100644 --- a/bsps/arm/imx/start/ccm.c +++ b/bsps/arm/imx/start/ccm.c @@ -27,6 +27,11 @@ uint32_t imx_ccm_uart_hz(void) return IMX_CCM_UART_HZ; } +uint32_t imx_ccm_ecspi_hz(void) +{ + return IMX_CCM_ECSPI_HZ; +} + uint32_t imx_ccm_ahb_hz(void) { return IMX_CCM_AHB_HZ; -- cgit v1.2.3