From 9cf4e1aae5e41f3a74d272349d0f18075f3c59f3 Mon Sep 17 00:00:00 2001 From: Chun-Chieh Li Date: Tue, 30 Jul 2024 14:56:13 +0800 Subject: [PATCH] drivers: usb: udc: change numaker m46x usbd clock source to hirc48m Change NuMaker M463/M467 series USBD clock source to HIRC48M. This makes core-clock and its clock source PLL not required to be multiple of 48MHz. Signed-off-by: Chun-Chieh Li --- boards/nuvoton/numaker_pfm_m467/numaker_pfm_m467.dts | 4 +--- dts/arm/nuvoton/m46x.dtsi | 5 +++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/boards/nuvoton/numaker_pfm_m467/numaker_pfm_m467.dts b/boards/nuvoton/numaker_pfm_m467/numaker_pfm_m467.dts index b877b19ff10..bd849f0ab1d 100644 --- a/boards/nuvoton/numaker_pfm_m467/numaker_pfm_m467.dts +++ b/boards/nuvoton/numaker_pfm_m467/numaker_pfm_m467.dts @@ -65,8 +65,6 @@ }; &scc { - /* For USB 1.1 Host/Device/OTG, configure to 192MHz, which can generate necessary 48MHz. */ - /* For USB 2.0 Host/Device/OTG or no USB application, comment out to use default. */ core-clock = <192000000>; }; @@ -122,7 +120,7 @@ status = "okay"; }; -/* On enabled, 'core-clock', as above, is required to be 192MHz. */ +/* On enabled, usbd is required to be clocked in 48MHz. */ zephyr_udc0: &usbd { pinctrl-0 = <&usbd_default>; pinctrl-names = "default"; diff --git a/dts/arm/nuvoton/m46x.dtsi b/dts/arm/nuvoton/m46x.dtsi index cdab3667810..df53c085078 100644 --- a/dts/arm/nuvoton/m46x.dtsi +++ b/dts/arm/nuvoton/m46x.dtsi @@ -51,6 +51,7 @@ #clock-cells = <0>; /* hxt = "enable"; */ lxt = "enable"; + hirc48m = "enable"; clk-pclkdiv = <(NUMAKER_CLK_PCLKDIV_APB0DIV_DIV2 | NUMAKER_CLK_PCLKDIV_APB1DIV_DIV2)>; core-clock = <200000000>; @@ -606,8 +607,8 @@ reg = <0x400c0000 0x1000>; interrupts = <53 0>; resets = <&rst NUMAKER_USBD_RST>; - clocks = <&pcc NUMAKER_USBD_MODULE NUMAKER_CLK_CLKSEL0_USBSEL_PLL_DIV2 - NUMAKER_CLK_CLKDIV0_USB(2)>; + clocks = <&pcc NUMAKER_USBD_MODULE NUMAKER_CLK_CLKSEL0_USBSEL_HIRC48M + NUMAKER_CLK_CLKDIV0_USB(1)>; dma-buffer-size = <1536>; status = "disabled"; num-bidir-endpoints = <25>;