From f3fe10f63e5ad7e6bc3d7f152767b97d401159c3 Mon Sep 17 00:00:00 2001 From: Peter van der Perk Date: Tue, 13 Dec 2022 15:44:13 +0100 Subject: [PATCH] S32K Dynamic periphclocks --- boards/nxp/mr-canhubk3/src/board_config.h | 6 +----- boards/nxp/mr-canhubk3/src/s32k3xx_clockconfig.c | 1 - boards/nxp/mr-canhubk3/src/s32k3xx_periphclocks.c | 6 +++++- boards/nxp/ucans32k146/src/board_config.h | 5 ----- boards/nxp/ucans32k146/src/clockconfig.c | 1 - boards/nxp/ucans32k146/src/periphclocks.c | 4 ++++ platforms/nuttx/NuttX/nuttx | 2 +- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/boards/nxp/mr-canhubk3/src/board_config.h b/boards/nxp/mr-canhubk3/src/board_config.h index 24bc625c95..fa6f66aa23 100644 --- a/boards/nxp/mr-canhubk3/src/board_config.h +++ b/boards/nxp/mr-canhubk3/src/board_config.h @@ -82,10 +82,6 @@ __BEGIN_DECLS #define BOARD_NUMBER_I2C_BUSES 2 -/* Count of peripheral clock user configurations */ - -#define NUM_OF_PERIPHERAL_CLOCKS_0 28 - /* Timer I/O PWM and capture */ #define DIRECT_PWM_OUTPUT_CHANNELS 8 @@ -104,7 +100,7 @@ __BEGIN_DECLS /* User peripheral configuration structure 0 */ -extern const struct peripheral_clock_config_s g_peripheral_clockconfig0[NUM_OF_PERIPHERAL_CLOCKS_0]; +extern const struct peripheral_clock_config_s g_peripheral_clockconfig0[]; /**************************************************************************** * Public Function Prototypes diff --git a/boards/nxp/mr-canhubk3/src/s32k3xx_clockconfig.c b/boards/nxp/mr-canhubk3/src/s32k3xx_clockconfig.c index 9a287976fb..9e48d08400 100644 --- a/boards/nxp/mr-canhubk3/src/s32k3xx_clockconfig.c +++ b/boards/nxp/mr-canhubk3/src/s32k3xx_clockconfig.c @@ -156,7 +156,6 @@ const struct clock_configuration_s g_initial_clkconfig = { }, .pcc = { - .count = NUM_OF_PERIPHERAL_CLOCKS_0, /* Number of peripheral clock configurations */ .pclks = g_peripheral_clockconfig0, /* Peripheral clock configurations */ }, }; diff --git a/boards/nxp/mr-canhubk3/src/s32k3xx_periphclocks.c b/boards/nxp/mr-canhubk3/src/s32k3xx_periphclocks.c index 9edfb2c24d..0314fce44f 100644 --- a/boards/nxp/mr-canhubk3/src/s32k3xx_periphclocks.c +++ b/boards/nxp/mr-canhubk3/src/s32k3xx_periphclocks.c @@ -41,7 +41,7 @@ * This is needed to establish the initial peripheral clocking. */ -const struct peripheral_clock_config_s g_peripheral_clockconfig0[NUM_OF_PERIPHERAL_CLOCKS_0] = { +const struct peripheral_clock_config_s g_peripheral_clockconfig0[] = { { .clkname = FLEXCAN0_CLK, #ifdef CONFIG_S32K3XX_FLEXCAN0 @@ -260,6 +260,10 @@ const struct peripheral_clock_config_s g_peripheral_clockconfig0[NUM_OF_PERIPHER }, }; +unsigned int const num_of_peripheral_clocks_0 = + sizeof(g_peripheral_clockconfig0) / + sizeof(g_peripheral_clockconfig0[0]); + /**************************************************************************** * Public Functions ****************************************************************************/ diff --git a/boards/nxp/ucans32k146/src/board_config.h b/boards/nxp/ucans32k146/src/board_config.h index c66abf53ab..d3b7a461dd 100644 --- a/boards/nxp/ucans32k146/src/board_config.h +++ b/boards/nxp/ucans32k146/src/board_config.h @@ -88,11 +88,6 @@ __BEGIN_DECLS /* SPI chip selects */ -/* Count of peripheral clock user configurations */ - -#define NUM_OF_PERIPHERAL_CLOCKS_0 19 - - /* High-resolution timer */ #define HRT_TIMER 5 /* FTM timer for the HRT */ #define HRT_TIMER_CHANNEL 0 /* Use capture/compare channel 0 */ diff --git a/boards/nxp/ucans32k146/src/clockconfig.c b/boards/nxp/ucans32k146/src/clockconfig.c index e197dfc555..b892215aad 100644 --- a/boards/nxp/ucans32k146/src/clockconfig.c +++ b/boards/nxp/ucans32k146/src/clockconfig.c @@ -197,7 +197,6 @@ const struct clock_configuration_s g_initial_clkconfig = { }, .pcc = { - .count = NUM_OF_PERIPHERAL_CLOCKS_0, /* Number peripheral clock configurations */ .pclks = g_peripheral_clockconfig0, /* Peripheral clock configurations */ }, .pmc = diff --git a/boards/nxp/ucans32k146/src/periphclocks.c b/boards/nxp/ucans32k146/src/periphclocks.c index b74f3b06af..cacb214191 100644 --- a/boards/nxp/ucans32k146/src/periphclocks.c +++ b/boards/nxp/ucans32k146/src/periphclocks.c @@ -200,3 +200,7 @@ const struct peripheral_clock_config_s g_peripheral_clockconfig0[] = { .clkgate = true, }, }; + +unsigned int const num_of_peripheral_clocks_0 = + sizeof(g_peripheral_clockconfig0) / + sizeof(g_peripheral_clockconfig0[0]); diff --git a/platforms/nuttx/NuttX/nuttx b/platforms/nuttx/NuttX/nuttx index 1ee8fb827c..0db0836d95 160000 --- a/platforms/nuttx/NuttX/nuttx +++ b/platforms/nuttx/NuttX/nuttx @@ -1 +1 @@ -Subproject commit 1ee8fb827c570f302a43ca9870c58d1ac73997d3 +Subproject commit 0db0836d95ad4360426644444119cbad5df96d1a