[PATCH] bsp/imx: Add an extra ecspi clock.

Gedare Bloom gedare at rtems.org
Thu Apr 2 14:49:57 UTC 2020


Looks good to me

On Thu, Apr 2, 2020 at 8:42 AM Christian Mauderer
<christian.mauderer at embedded-brains.de> wrote:
>
> 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 +++++
>  c/src/lib/libbsp/arm/imx/configure.ac               | 3 +++
>  4 files changed, 12 insertions(+), 1 deletion(-)
>
> 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;
> diff --git a/c/src/lib/libbsp/arm/imx/configure.ac b/c/src/lib/libbsp/arm/imx/configure.ac
> index aa119b9236..fbb9d9278a 100644
> --- a/c/src/lib/libbsp/arm/imx/configure.ac
> +++ b/c/src/lib/libbsp/arm/imx/configure.ac
> @@ -43,6 +43,9 @@ RTEMS_BSPOPTS_HELP([IMX_CCM_IPG_HZ],[IPG clock frequency in Hz])
>  RTEMS_BSPOPTS_SET([IMX_CCM_UART_HZ],[*],[24000000])
>  RTEMS_BSPOPTS_HELP([IMX_CCM_UART_HZ],[UART clock frequency in Hz])
>
> +RTEMS_BSPOPTS_SET([IMX_CCM_ECSPI_HZ],[*],[67500000])
> +RTEMS_BSPOPTS_HELP([IMX_CCM_ECSPI_HZ],[ECSPI clock frequency in Hz])
> +
>  RTEMS_BSPOPTS_SET([IMX_CCM_AHB_HZ],[*],[135000000])
>  RTEMS_BSPOPTS_HELP([IMX_CCM_AHB_HZ],[AHB clock frequency in Hz])
>
> --
> 2.16.4
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list