On 3/22/25 22:56, Zixun LI wrote:
> Add compatible "microchip,sam9x60-udc" and device tree binding.
> Compared to SAM9X5 the only difference is the DPRAM memory from the
> USB High Speed Device Port (UDPHS) hardware block was increased,
> so we can reuse the same endpoint data.
> 
> Tested on SAM9X60-Curiosity board with nfs and ums commands.

Why no patch to enable it on the board as well then ?

> 
> Signed-off-by: Zixun LI <ad...@hifiphile.com>
> ---
>  arch/arm/dts/sam9x60.dtsi                        | 14 ++++++++++++++
>  arch/arm/mach-at91/include/mach/atmel_usba_udc.h |  2 +-
>  drivers/usb/gadget/atmel_usba_udc.c              |  1 +

Device tree and driver changes should be separate commits.


>  3 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/dts/sam9x60.dtsi b/arch/arm/dts/sam9x60.dtsi
> index 3b684fc63d5..96a8faf09b3 100644
> --- a/arch/arm/dts/sam9x60.dtsi
> +++ b/arch/arm/dts/sam9x60.dtsi
> @@ -69,6 +69,20 @@
>               #size-cells = <1>;
>               ranges;
>  
> +             usb0: gadget@500000 {
> +                     compatible = "microchip,sam9x60-udc";
> +                     reg = <0x500000 0x100000>,
> +                             <0xf803c000 0x400>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
Can you please reorder these to have them in the same order as in Linux
DTS ? (easier to diff...)

> +                     interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
> +                     clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc 
> PMC_TYPE_CORE 8>;
> +                     clock-names = "pclk", "hclk";
> +                     assigned-clocks = <&pmc PMC_TYPE_CORE 8>;
> +                     assigned-clock-rates = <480000000>;
> +                     status = "disabled";
> +             };
> +
>               usb1: usb@600000 {
>                       compatible = "atmel,at91rm9200-ohci", "usb-ohci";
>                       reg = <0x00600000 0x100000>;
> diff --git a/arch/arm/mach-at91/include/mach/atmel_usba_udc.h 
> b/arch/arm/mach-at91/include/mach/atmel_usba_udc.h
> index 835b47d91ba..23c71985c90 100644
> --- a/arch/arm/mach-at91/include/mach/atmel_usba_udc.h
> +++ b/arch/arm/mach-at91/include/mach/atmel_usba_udc.h
> @@ -20,7 +20,7 @@
>       }
>  
>  #if defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
> -     defined(CONFIG_AT91SAM9X5)
> +     defined(CONFIG_AT91SAM9X5) || defined(CONFIG_SAM9X60)
>  static struct usba_ep_data usba_udc_ep[] = {
>       EP("ep0", 0, 64, 1, 0, 0),
>       EP("ep1", 1, 1024, 2, 1, 1),
> diff --git a/drivers/usb/gadget/atmel_usba_udc.c 
> b/drivers/usb/gadget/atmel_usba_udc.c
> index a77037a7094..f9326f0a7e7 100644
> --- a/drivers/usb/gadget/atmel_usba_udc.c
> +++ b/drivers/usb/gadget/atmel_usba_udc.c
> @@ -1443,6 +1443,7 @@ static const struct udevice_id usba_udc_ids[] = {
>       { .compatible = "atmel,at91sam9rl-udc" },
>       { .compatible = "atmel,at91sam9g45-udc" },
>       { .compatible = "atmel,sama5d3-udc" },
> +     { .compatible = "microchip,sam9x60-udc" },
>       {}
>  };
>  

Reply via email to