Skip to content

Commit abaf7cc

Browse files
henrikbrixandersencarlescufi
authored andcommitted
drivers: clock_control: lpc: syscon: add MCAN clock support
Add support for the LPC MCAN clock to the LPC SYSCON clock controller driver. Signed-off-by: Henrik Brix Andersen <[email protected]>
1 parent 12388b9 commit abaf7cc

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

drivers/clock_control/clock_control_mcux_syscon.c

+19-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ LOG_MODULE_REGISTER(clock_control);
1818
static int mcux_lpc_syscon_clock_control_on(const struct device *dev,
1919
clock_control_subsys_t sub_system)
2020
{
21+
#if defined(CONFIG_CAN_MCUX_MCAN)
22+
uint32_t clock_name = (uint32_t)sub_system;
23+
24+
if (clock_name == MCUX_MCAN_CLK) {
25+
CLOCK_EnableClock(kCLOCK_Mcan);
26+
}
27+
#endif /* defined(CONFIG_CAN_MCUX_MCAN) */
28+
2129
return 0;
2230
}
2331

@@ -35,11 +43,15 @@ static int mcux_lpc_syscon_clock_control_get_subsys_rate(
3543
#if defined(CONFIG_I2C_MCUX_FLEXCOMM) || \
3644
defined(CONFIG_SPI_MCUX_FLEXCOMM) || \
3745
defined(CONFIG_UART_MCUX_FLEXCOMM) || \
38-
defined(CONFIG_COUNTER_MCUX_CTIMER)
46+
defined(CONFIG_COUNTER_MCUX_CTIMER) || \
47+
defined(CONFIG_CAN_MCUX_MCAN)
3948

4049
uint32_t clock_name = (uint32_t) sub_system;
4150

4251
switch (clock_name) {
52+
#if defined(CONFIG_I2C_MCUX_FLEXCOMM) || \
53+
defined(CONFIG_SPI_MCUX_FLEXCOMM) || \
54+
defined(CONFIG_UART_MCUX_FLEXCOMM)
4355
case MCUX_FLEXCOMM0_CLK:
4456
*rate = CLOCK_GetFlexCommClkFreq(0);
4557
break;
@@ -84,6 +96,11 @@ static int mcux_lpc_syscon_clock_control_get_subsys_rate(
8496
*rate = CLOCK_GetSdioClkFreq(1);
8597
break;
8698
#endif
99+
#if defined(CONFIG_CAN_MCUX_MCAN)
100+
case MCUX_MCAN_CLK:
101+
*rate = CLOCK_GetMCanClkFreq();
102+
break;
103+
#endif /* defined(CONFIG_CAN_MCUX_MCAN) */
87104
#if defined(CONFIG_COUNTER_MCUX_CTIMER)
88105
case (MCUX_CTIMER0_CLK + MCUX_CTIMER_CLK_OFFSET):
89106
*rate = CLOCK_GetCTimerClkFreq(0);
@@ -102,6 +119,7 @@ static int mcux_lpc_syscon_clock_control_get_subsys_rate(
102119
break;
103120
#endif
104121
}
122+
#endif
105123
#endif
106124

107125
return 0;

include/dt-bindings/clock/mcux_lpc_syscon_clock.h

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#define MCUX_FLEXCOMM7_CLK 7
1818
#define MCUX_PMIC_I2C_CLK 16
1919
#define MCUX_HS_SPI_CLK 8
20+
#define MCUX_MCAN_CLK 9
2021
#define MCUX_USDHC1_CLK 9
2122
#define MCUX_USDHC2_CLK 10
2223

0 commit comments

Comments
 (0)