
Enable MUSB host and USB storage support for Microchip PIC32MZ[DA] Starter Kit.
Signed-off-by: Purna Chandra Mandal purna.mandal@microchip.com ---
Changes in v4: - dts: add USB clock to musb node - add missing CONFIG_PIC32_USB in defconfig
Changes in v3: - add arch specific reads{bwlq}, writes{bwlq} in respective arch io.h - remove reads{bwlq}, writes{bwlq} in musb-new driver
Changes in v2: - compilation fix in drivers/usb/musb-new/linux-compat.h seperated - compilation fix in drivers/gadget/f_mass_storage.c seperated
arch/mips/dts/pic32mzda.dtsi | 12 ++++++++++++ arch/mips/dts/pic32mzda_sk.dts | 4 ++++ configs/pic32mzdask_defconfig | 7 ++++++- include/configs/pic32mzdask.h | 7 +++++++ 4 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/arch/mips/dts/pic32mzda.dtsi b/arch/mips/dts/pic32mzda.dtsi index 5d8bc4b..8865154 100644 --- a/arch/mips/dts/pic32mzda.dtsi +++ b/arch/mips/dts/pic32mzda.dtsi @@ -179,4 +179,16 @@ <0x1d100000 0x100000>; reg-names = "nvm", "bank1","bank2"; }; + + usb: musb@1f8e3000 { + compatible = "microchip,pic32mzda-usb"; + reg = <0x1f8e3000 0x1000>, + <0x1f884000 0x1000>; + reg-names = "mc", "control"; + interrupts = <132 IRQ_TYPE_EDGE_RISING>, + <133 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clock PB5CLK>; + clock-names = "usb_clk"; + status = "disabled"; + }; }; diff --git a/arch/mips/dts/pic32mzda_sk.dts b/arch/mips/dts/pic32mzda_sk.dts index e5ce0bd..0a7847e 100644 --- a/arch/mips/dts/pic32mzda_sk.dts +++ b/arch/mips/dts/pic32mzda_sk.dts @@ -52,4 +52,8 @@ ethernet_phy: lan8740_phy@0 { reg = <0>; }; +}; + +&usb { + status = "okay"; }; \ No newline at end of file diff --git a/configs/pic32mzdask_defconfig b/configs/pic32mzdask_defconfig index 2f3d463..33af04e 100644 --- a/configs/pic32mzdask_defconfig +++ b/configs/pic32mzdask_defconfig @@ -12,6 +12,7 @@ CONFIG_SYS_PROMPT="dask # " CONFIG_LOOPW=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MEMINFO=y +CONFIG_CMD_USB=y # CONFIG_CMD_FPGA is not set CONFIG_CMD_GPIO=y CONFIG_CMD_RARP=y @@ -29,6 +30,10 @@ CONFIG_DM_ETH=y CONFIG_PIC32_ETH=y CONFIG_PINCTRL=y # CONFIG_PINCTRL_FULL is not set -CONFIG_SYS_VSNPRINTF=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_MUSB_HOST=y +CONFIG_USB_MUSB_PIC32=y +CONFIG_USB_STORAGE=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h index 92314e5..9296d26 100644 --- a/include/configs/pic32mzdask.h +++ b/include/configs/pic32mzdask.h @@ -110,6 +110,12 @@ #define CONFIG_GENERIC_MMC #define CONFIG_CMD_MMC
+/*-------------------------------------------------- + * USB Configuration + */ +#define CONFIG_USB_MUSB_PIO_ONLY +#define CONFIG_SYS_CACHELINE_SIZE 16 + /*----------------------------------------------------------------------- * File System Configuration */ @@ -160,6 +166,7 @@
#define BOOT_TARGET_DEVICES(func) \ func(MMC, mmc, 0) \ + func(USB, usb, 0) \ func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>