[PATCH rtems 1/2] bsps/imxrt: Allow different ARM PLL setting

Gedare Bloom gedare at rtems.org
Fri Jun 4 17:43:42 UTC 2021


On Fri, Jun 4, 2021 at 1:48 AM Christian Mauderer
<christian.mauderer at embedded-brains.de> wrote:
>
> Update #4180
> ---
>  .../nxp/boards/evkbimxrt1050/clock_config.c   |  5 +++
>  bsps/arm/imxrt/start/clock-arm-pll-config.c   | 33 +++++++++++++++++++
>  spec/build/bsps/arm/imxrt/bspimxrt.yml        |  1 +
>  3 files changed, 39 insertions(+)
>  create mode 100644 bsps/arm/imxrt/start/clock-arm-pll-config.c
>
> diff --git a/bsps/arm/imxrt/nxp/boards/evkbimxrt1050/clock_config.c b/bsps/arm/imxrt/nxp/boards/evkbimxrt1050/clock_config.c
> index c23d5da356..ea28d06dd8 100644
> --- a/bsps/arm/imxrt/nxp/boards/evkbimxrt1050/clock_config.c
> +++ b/bsps/arm/imxrt/nxp/boards/evkbimxrt1050/clock_config.c
> @@ -33,6 +33,7 @@ board: IMXRT1050-EVKB
>  #ifndef __rtems__
>  #include "clock_config.h"
>  #else /* __rtems__ */
> +#include <bspopts.h>
>  #include "fsl_clock_config.h"
>  #endif /* __rtems__ */
>  #include "fsl_iomuxc.h"
> @@ -146,10 +147,14 @@ sources:
>  /*******************************************************************************
>   * Variables for BOARD_BootClockRUN configuration
>   ******************************************************************************/
> +#ifndef __rtems__
>  const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN = {
>      .loopDivider = 100, /* PLL loop divider, Fout = Fin * 50 */
>      .src         = 0,   /* Bypass clock source, 0 - OSC 24M, 1 - CLK1_P and CLK1_N */
>  };
> +#else /* __rtems__ */
> +/* Moved to a separate file so an application can overwrite it. */
although it may be trivial, perhaps add the filename/path
(bsps/arm/imxrt/start/clock-arm-pll-config.c) in the comment?

BSP doco provided how to override it?

> +#endif /* __rtems__ */
>  const clock_sys_pll_config_t sysPllConfig_BOARD_BootClockRUN = {
>      .loopDivider = 1, /* PLL loop divider, Fout = Fin * ( 20 + loopDivider*2 + numerator / denominator ) */
>      .numerator   = 0, /* 30 bit numerator of fractional loop divider */
> diff --git a/bsps/arm/imxrt/start/clock-arm-pll-config.c b/bsps/arm/imxrt/start/clock-arm-pll-config.c
> new file mode 100644
> index 0000000000..12ad1867eb
> --- /dev/null
> +++ b/bsps/arm/imxrt/start/clock-arm-pll-config.c
> @@ -0,0 +1,33 @@
> +/* SPDX-License-Identifier: BSD-2-Clause */
> +
> +/*
> + * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *    notice, this list of conditions and the following disclaimer in the
> + *    documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#include "fsl_clock_config.h"
> +
> +const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN = {
> +    .loopDivider = 100,
> +    .src = 0,
> +};
> diff --git a/spec/build/bsps/arm/imxrt/bspimxrt.yml b/spec/build/bsps/arm/imxrt/bspimxrt.yml
> index f543a14394..c6ea904754 100644
> --- a/spec/build/bsps/arm/imxrt/bspimxrt.yml
> +++ b/spec/build/bsps/arm/imxrt/bspimxrt.yml
> @@ -238,6 +238,7 @@ source:
>  - bsps/arm/imxrt/spi/imxrt-lpspi.c
>  - bsps/arm/imxrt/start/bspstart.c
>  - bsps/arm/imxrt/start/bspstarthooks.c
> +- bsps/arm/imxrt/start/clock-arm-pll-config.c
>  - bsps/arm/imxrt/start/flash-boot-data.c
>  - bsps/arm/imxrt/start/flash-config.c
>  - bsps/arm/imxrt/start/flash-dcd.c
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list