Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
4de6953
dts: clock: SAM D5x/E5x: add more functionality
sunil-abraham Sep 25, 2025
5aea14a
drivers: clock_control: SAM D5x/E5x: add more functionality
sunil-abraham Sep 25, 2025
0c563db
boards: microchip: SAM_D5x_E5x: configure clock source and frequency
sunil-abraham Sep 25, 2025
48252ee
dts: arm: microchip: sam: Add USB node and binding
shijas-mayan Aug 21, 2025
5a8f1d8
drivers: usb: microchip: Add USB driver
shijas-mayan Aug 21, 2025
f623f81
boards: sam_e54_xpro: Update pinctrl, DTS, and YAML files
shijas-mayan Aug 21, 2025
5ff1324
samples: subsys: usb: cdc_acm: Add sam_e54_xpro overlay
shijas-mayan Aug 21, 2025
fa70688
samples: subsys: usb: console-next: Add sam_e54_xpro overlay
shijas-mayan Aug 21, 2025
a77ac56
samples: subsys: usb: hid_mouse: Add sam_e54_xpro overlay
shijas-mayan Aug 21, 2025
4267d22
samples: subsys: usb: mass: Add sam_e54_xpro overlay
shijas-mayan Aug 21, 2025
78b4a6d
samples: subsys: usb: midi: Add sam_e54_xpro overlay
shijas-mayan Sep 24, 2025
7202cbd
samples: subsys: usb: cdc_acm: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
46d028c
samples: subsys: usb: console: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
fc5ff3f
samples: subsys: usb: dfu: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
d015925
samples: subsys: usb: hid-keyboard: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
8cd829c
samples: subsys: usb: uac2_explicit_feedback: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
103fc88
samples: subsys: usb: uac2_implicit_feedback: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
d144769
samples: subsys: usb: uvc: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
50403f2
samples: subsys: usb: webusb: Add sam_e54_xpro overlay
shijas-mayan Sep 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions boards/microchip/sam/sam_e54_xpro/sam_e54_xpro-pinctrl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,11 @@
<PB24D_SERCOM2_PAD1>;
};
};

usb_dc_default: usb_dc_default {
group1 {
pinmux = <PA25H_USB_DP>,
<PA24H_USB_DM>;
};
};
};
82 changes: 81 additions & 1 deletion boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.dts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,82 @@
};

&cpu0 {
clock-frequency = <48000000>;
clock-frequency = <120000000>;
};

&clock {
compatible = "microchip,sam-d5x-e5x-clock";

xosc: xosc {
compatible = "microchip,sam-d5x-e5x-xosc";
xosc1 {
subsystem = <CLOCK_MCHP_XOSC_ID_XOSC1>;
xosc-frequency = <12000000>;
xosc-en = <1>;
xosc-xtal-en = <1>;
xosc-run-in-standby-en = <1>;
};
};

dfll: dfll {
compatible = "microchip,sam-d5x-e5x-dfll";
dfll-en = <0>;
};

fdpll: fdpll {
compatible = "microchip,sam-d5x-e5x-fdpll";
fdpll0 {
subsystem = <CLOCK_MCHP_FDPLL_ID_FDPLL0>;
fdpll-divider-ratio-int = <19>;
fdpll-lock-bypass-en = <1>;
fdpll-wakeup-fast-en = <1>;
fdpll-src = "xosc1";
fdpll-en = <1>;
};
};

xosc32k: xosc32k {
compatible = "microchip,sam-d5x-e5x-xosc32k";
xosc32k-xtal-en = <1>;
xosc32k-startup-time = <62>;
xosc32k-gain-mode = "standard";
xosc32k-en = <1>;
xosc32k-32khz-en = <1>;
xosc32k-1khz-en = <1>;
};

gclkgen: gclkgen {
compatible = "microchip,sam-d5x-e5x-gclkgen";

gclkgen0 {
subsystem = <CLOCK_MCHP_GCLKGEN_ID_GEN0>;
gclkgen-div-factor = <1>;
gclkgen-run-in-standby-en = <1>;
gclkgen-src = "fdpll0";
gclkgen-en = <1>;
};
};

gclkperiph: gclkperiph {
compatible = "microchip,sam-d5x-e5x-gclkperiph";
#clock-cells = <1>;

sercom2 {
subsystem = <CLOCK_MCHP_GCLKPERIPH_ID_SERCOM2_CORE>;
gclkperiph-src = "gclk0";
gclkperiph-en = <1>;
};
};

mclkperiph: mclkperiph {
compatible = "microchip,sam-d5x-e5x-mclkperiph";
#clock-cells = <1>;

sercom2 {
subsystem = <CLOCK_MCHP_MCLKPERIPH_ID_APBB_SERCOM2>;
mclk-en = <1>;
};
};
};

&sercom2 {
Expand All @@ -60,3 +135,8 @@
pinctrl-0 = <&sercom2_uart_default>;
pinctrl-names = "default";
};

zephyr_udc0: &usb0 {
pinctrl-0 = <&usb_dc_default>;
pinctrl-names = "default";
};
2 changes: 2 additions & 0 deletions boards/microchip/sam/sam_e54_xpro/sam_e54_xpro.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ supported:
- pinctrl
- shell
- uart
- usb
- watchdog
vendor: microchip
26 changes: 26 additions & 0 deletions drivers/clock_control/Kconfig.mchp
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,37 @@ config CLOCK_CONTROL_MCHP_SAM_D5X_E5X

if CLOCK_CONTROL_MCHP_COMMON

config CLOCK_CONTROL_MCHP_CONFIG_BOOTUP
bool "Bootup clock configuration"
default y
help
This option enables bootup clock configuration from device tree node.

config CLOCK_CONTROL_MCHP_CONFIG_RUNTIME
bool "Runtime clock configuration"
default y
help
This option enables runtime clock configuration using API.

config CLOCK_CONTROL_MCHP_ASYNC_ON
bool "Async clock on"
default n
help
This option enables async on API.

config CLOCK_CONTROL_MCHP_GET_RATE
bool "Get clock rate"
default y
help
Enable support for retrieving the clock rate. This may increase
code size, depending on the depth of clock source hierarchy.

config CLOCK_CONTROL_MCHP_SET_RATE
bool "Set clock rate"
default n
depends on CLOCK_CONTROL_MCHP_GET_RATE
help
This option enables set rate API. This may increase
code size, depending on the depth of clock source hierarchy.

endif # CLOCK_CONTROL_MCHP_COMMON
Loading
Loading