diff mbox

[U-Boot,v3,4/4] board: pic32mzda: enable USB-host, USB-storage support.

Message ID 1458045855-7726-4-git-send-email-purna.mandal@microchip.com
State Superseded
Headers show

Commit Message

Purna Chandra Mandal March 15, 2016, 12:44 p.m. UTC
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 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   | 10 ++++++++++
 arch/mips/dts/pic32mzda_sk.dts |  4 ++++
 configs/pic32mzdask_defconfig  |  6 +++++-
 include/configs/pic32mzdask.h  |  7 +++++++
 4 files changed, 26 insertions(+), 1 deletion(-)

Comments

Daniel Schwierzeck March 16, 2016, 9:12 a.m. UTC | #1
Am 15.03.2016 um 13:44 schrieb Purna Chandra Mandal:
> 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 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   | 10 ++++++++++
>  arch/mips/dts/pic32mzda_sk.dts |  4 ++++
>  configs/pic32mzdask_defconfig  |  6 +++++-
>  include/configs/pic32mzdask.h  |  7 +++++++
>  4 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/mips/dts/pic32mzda.dtsi b/arch/mips/dts/pic32mzda.dtsi
> index 7d180d9..57e4500 100644
> --- a/arch/mips/dts/pic32mzda.dtsi
> +++ b/arch/mips/dts/pic32mzda.dtsi
> @@ -171,4 +171,14 @@
>  		#address-cells = <1>;
>  		#size-cells = <0>;
>  	};
> +
> +	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>;
> +		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 1dbe1b5..544112f 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
> @@ -28,6 +29,9 @@ 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_STORAGE=y
>  CONFIG_USE_TINY_PRINTF=y
>  CONFIG_CMD_DHRYSTONE=y
> diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
> index 2d35a0b..1d5be2b 100644
> --- a/include/configs/pic32mzdask.h
> +++ b/include/configs/pic32mzdask.h
> @@ -117,6 +117,12 @@
>  #define CONFIG_GENERIC_MMC
>  #define CONFIG_CMD_MMC
>  
> +/*--------------------------------------------------
> + * USB Configuration
> + */
> +#define CONFIG_USB_MUSB_PIO_ONLY
> +#define CONFIG_SYS_CACHELINE_SIZE	16

I see CONFIG_SYS_CACHELINE_SIZE is used in drivers/usb/ in various memalign() calls. Actually we have ARCH_DMA_MINALIGN for this case. At least for MIPS I want to get rid of CONFIG_SYS_CACHELINE_SIZE in the future becasue we have auto-detection for that. 

If possible I'd like to see a patch which replaces CONFIG_SYS_CACHELINE_SIZE with ARCH_DMA_MINALIGN in drivers/user/. Marek what do you think?

> +
>  /*-----------------------------------------------------------------------
>   * File System Configuration
>   */
> @@ -167,6 +173,7 @@
>  
>  #define BOOT_TARGET_DEVICES(func)	\
>  	func(MMC, mmc, 0)		\
> +	func(USB, usb, 0)		\
>  	func(DHCP, dhcp, na)
>  
>  #include <config_distro_bootcmd.h>
>
Marek Vasut March 16, 2016, 3:49 p.m. UTC | #2
On 03/16/2016 10:12 AM, Daniel Schwierzeck wrote:
> 
> 
> Am 15.03.2016 um 13:44 schrieb Purna Chandra Mandal:
>> 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 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   | 10 ++++++++++
>>  arch/mips/dts/pic32mzda_sk.dts |  4 ++++
>>  configs/pic32mzdask_defconfig  |  6 +++++-
>>  include/configs/pic32mzdask.h  |  7 +++++++
>>  4 files changed, 26 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/mips/dts/pic32mzda.dtsi b/arch/mips/dts/pic32mzda.dtsi
>> index 7d180d9..57e4500 100644
>> --- a/arch/mips/dts/pic32mzda.dtsi
>> +++ b/arch/mips/dts/pic32mzda.dtsi
>> @@ -171,4 +171,14 @@
>>  		#address-cells = <1>;
>>  		#size-cells = <0>;
>>  	};
>> +
>> +	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>;
>> +		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 1dbe1b5..544112f 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
>> @@ -28,6 +29,9 @@ 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_STORAGE=y
>>  CONFIG_USE_TINY_PRINTF=y
>>  CONFIG_CMD_DHRYSTONE=y
>> diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
>> index 2d35a0b..1d5be2b 100644
>> --- a/include/configs/pic32mzdask.h
>> +++ b/include/configs/pic32mzdask.h
>> @@ -117,6 +117,12 @@
>>  #define CONFIG_GENERIC_MMC
>>  #define CONFIG_CMD_MMC
>>  
>> +/*--------------------------------------------------
>> + * USB Configuration
>> + */
>> +#define CONFIG_USB_MUSB_PIO_ONLY
>> +#define CONFIG_SYS_CACHELINE_SIZE	16
> 
> I see CONFIG_SYS_CACHELINE_SIZE is used in drivers/usb/ in various memalign() calls. Actually we have ARCH_DMA_MINALIGN for this case. At least for MIPS I want to get rid of CONFIG_SYS_CACHELINE_SIZE in the future becasue we have auto-detection for that. 
> 
> If possible I'd like to see a patch which replaces CONFIG_SYS_CACHELINE_SIZE with ARCH_DMA_MINALIGN in drivers/user/. Marek what do you think?

I think that makes sense.

>> +
>>  /*-----------------------------------------------------------------------
>>   * File System Configuration
>>   */
>> @@ -167,6 +173,7 @@
>>  
>>  #define BOOT_TARGET_DEVICES(func)	\
>>  	func(MMC, mmc, 0)		\
>> +	func(USB, usb, 0)		\
>>  	func(DHCP, dhcp, na)
>>  
>>  #include <config_distro_bootcmd.h>
>>
>
diff mbox

Patch

diff --git a/arch/mips/dts/pic32mzda.dtsi b/arch/mips/dts/pic32mzda.dtsi
index 7d180d9..57e4500 100644
--- a/arch/mips/dts/pic32mzda.dtsi
+++ b/arch/mips/dts/pic32mzda.dtsi
@@ -171,4 +171,14 @@ 
 		#address-cells = <1>;
 		#size-cells = <0>;
 	};
+
+	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>;
+		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 1dbe1b5..544112f 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
@@ -28,6 +29,9 @@  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_STORAGE=y
 CONFIG_USE_TINY_PRINTF=y
 CONFIG_CMD_DHRYSTONE=y
diff --git a/include/configs/pic32mzdask.h b/include/configs/pic32mzdask.h
index 2d35a0b..1d5be2b 100644
--- a/include/configs/pic32mzdask.h
+++ b/include/configs/pic32mzdask.h
@@ -117,6 +117,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
  */
@@ -167,6 +173,7 @@ 
 
 #define BOOT_TARGET_DEVICES(func)	\
 	func(MMC, mmc, 0)		\
+	func(USB, usb, 0)		\
 	func(DHCP, dhcp, na)
 
 #include <config_distro_bootcmd.h>