2018-12-13 14:48:26

by Paul Cercueil

[permalink] [raw]
Subject: [PATCH 1/4] Documentation: dt: Add binding info for jz4740-musb driver

This commit adds documentation for the device-tree bindings of the
jz4740-musb driver, which provides support for the USB gadget mode
of the JZ4740 and similar SoCs from Ingenic.

Signed-off-by: Paul Cercueil <[email protected]>
---
.../bindings/usb/ingenic,jz4740-musb.txt | 24 ++++++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/ingenic,jz4740-musb.txt

diff --git a/Documentation/devicetree/bindings/usb/ingenic,jz4740-musb.txt b/Documentation/devicetree/bindings/usb/ingenic,jz4740-musb.txt
new file mode 100644
index 000000000000..620355cee63f
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ingenic,jz4740-musb.txt
@@ -0,0 +1,24 @@
+Ingenic JZ4740 MUSB driver
+
+Required properties:
+
+- compatible: Must be "ingenic,jz4740-musb"
+- reg: Address range of the UDC register set
+- interrupts: IRQ number related to the UDC hardware
+- interrupt-names: must be "mc"
+- clocks: phandle to the "udc" clock
+- clock-names: must be "udc"
+
+Example:
+
+udc: usb@13040000 {
+ compatible = "ingenic,jz4740-musb";
+ reg = <0x13040000 0x10000>;
+
+ interrupt-parent = <&intc>;
+ interrupts = <24>;
+ interrupt-names = "mc";
+
+ clocks = <&cgu JZ4740_CLK_UDC>;
+ clock-names = "udc";
+};
--
2.11.0



2018-12-13 14:47:32

by Paul Cercueil

[permalink] [raw]
Subject: [PATCH 3/4] usb: musb: jz4740: Drop dependency on MACH_JZ4740, use COMPILE_TEST

Depending on MACH_INGENIC prevent us from creating a generic kernel that
works on more than one MIPS board. Instead, we just depend on MIPS being
set.

On other architectures, this driver can still be built, thanks to
COMPILE_TEST. This is used by automated tools to find bugs, for
instance.

Signed-off-by: Paul Cercueil <[email protected]>
---
drivers/usb/musb/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index ad08895e78f9..6f5b0ed6a507 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -111,7 +111,7 @@ config USB_MUSB_UX500
config USB_MUSB_JZ4740
tristate "JZ4740"
depends on NOP_USB_XCEIV
- depends on MACH_JZ4740 || COMPILE_TEST
+ depends on MIPS || COMPILE_TEST
depends on USB_MUSB_GADGET
depends on USB_OTG_BLACKLIST_HUB

--
2.11.0


2018-12-13 14:48:43

by Paul Cercueil

[permalink] [raw]
Subject: [PATCH 2/4] usb: musb: jz4740: Add support for devicetree

Add support for probing the driver from devicetree.

Signed-off-by: Paul Cercueil <[email protected]>
---
drivers/usb/musb/jz4740.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/usb/musb/jz4740.c b/drivers/usb/musb/jz4740.c
index 04d8b2bc205a..9a2cebcac260 100644
--- a/drivers/usb/musb/jz4740.c
+++ b/drivers/usb/musb/jz4740.c
@@ -10,6 +10,7 @@
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
+#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/usb/usb_phy_generic.h>

@@ -188,11 +189,17 @@ static int jz4740_remove(struct platform_device *pdev)
return 0;
}

+static const struct of_device_id jz4740_musb_of_match[] = {
+ { .compatible = "ingenic,jz4740-musb" },
+ {},
+};
+
static struct platform_driver jz4740_driver = {
.probe = jz4740_probe,
.remove = jz4740_remove,
.driver = {
.name = "musb-jz4740",
+ .of_match_table = of_match_ptr(jz4740_musb_of_match),
},
};

--
2.11.0


2018-12-13 14:49:25

by Paul Cercueil

[permalink] [raw]
Subject: [PATCH 4/4] usb: musb: jz4740: Drop dependency on USB_OTG_BLACKLIST_HUB

The USB IP in the JZ4740 SoC does not support host mode, only gadget
mode.

Signed-off-by: Paul Cercueil <[email protected]>
---
drivers/usb/musb/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 6f5b0ed6a507..a884179bc3c0 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -113,7 +113,6 @@ config USB_MUSB_JZ4740
depends on NOP_USB_XCEIV
depends on MIPS || COMPILE_TEST
depends on USB_MUSB_GADGET
- depends on USB_OTG_BLACKLIST_HUB

config USB_MUSB_AM335X_CHILD
tristate
--
2.11.0


2018-12-21 10:28:25

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/4] Documentation: dt: Add binding info for jz4740-musb driver

On Thu, 13 Dec 2018 15:45:52 +0100, Paul Cercueil wrote:
> This commit adds documentation for the device-tree bindings of the
> jz4740-musb driver, which provides support for the USB gadget mode
> of the JZ4740 and similar SoCs from Ingenic.
>
> Signed-off-by: Paul Cercueil <[email protected]>
> ---
> .../bindings/usb/ingenic,jz4740-musb.txt | 24 ++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/ingenic,jz4740-musb.txt
>

Reviewed-by: Rob Herring <[email protected]>

2019-01-07 19:48:56

by Bin Liu

[permalink] [raw]
Subject: Re: [PATCH 2/4] usb: musb: jz4740: Add support for devicetree

Hi,

On Thu, Dec 13, 2018 at 03:45:53PM +0100, Paul Cercueil wrote:
> Add support for probing the driver from devicetree.
>
> Signed-off-by: Paul Cercueil <[email protected]>
> ---
> drivers/usb/musb/jz4740.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/usb/musb/jz4740.c b/drivers/usb/musb/jz4740.c
> index 04d8b2bc205a..9a2cebcac260 100644
> --- a/drivers/usb/musb/jz4740.c
> +++ b/drivers/usb/musb/jz4740.c
> @@ -10,6 +10,7 @@
> #include <linux/errno.h>
> #include <linux/kernel.h>
> #include <linux/module.h>
> +#include <linux/of_device.h>
> #include <linux/platform_device.h>
> #include <linux/usb/usb_phy_generic.h>
>
> @@ -188,11 +189,17 @@ static int jz4740_remove(struct platform_device *pdev)
> return 0;
> }
>
> +static const struct of_device_id jz4740_musb_of_match[] = {
> + { .compatible = "ingenic,jz4740-musb" },
> + {},
> +};

should be wrapped by '#ifdef CONFIG_OF'?

miss MODULE_DEVICE_TABLE()

> +
> static struct platform_driver jz4740_driver = {
> .probe = jz4740_probe,
> .remove = jz4740_remove,
> .driver = {
> .name = "musb-jz4740",
> + .of_match_table = of_match_ptr(jz4740_musb_of_match),
> },
> };
>

Regards,
-Bin.

2019-01-07 20:14:32

by Bin Liu

[permalink] [raw]
Subject: Re: [PATCH 3/4] usb: musb: jz4740: Drop dependency on MACH_JZ4740, use COMPILE_TEST

Hi,

Please use the following subject instead.

usb: musb: Kconfig: Drop dependency on MACH_JZ4740 and use COMPILE_TEST for jz4740

On Thu, Dec 13, 2018 at 03:45:54PM +0100, Paul Cercueil wrote:
> Depending on MACH_INGENIC prevent us from creating a generic kernel that

did you mean MACH_JZ4740 instead?

Regards,
-Bin.

2019-01-07 20:15:06

by Bin Liu

[permalink] [raw]
Subject: Re: [PATCH 4/4] usb: musb: jz4740: Drop dependency on USB_OTG_BLACKLIST_HUB

Hi,

Please use the following subject instead.

usb: musb: Kconfig: Drop dependency on USB_OTG_BLACKLIST_HUB for jz4740

Regards,
-Bin.

On Thu, Dec 13, 2018 at 03:45:55PM +0100, Paul Cercueil wrote:
> The USB IP in the JZ4740 SoC does not support host mode, only gadget
> mode.
>
> Signed-off-by: Paul Cercueil <[email protected]>
> ---
> drivers/usb/musb/Kconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> index 6f5b0ed6a507..a884179bc3c0 100644
> --- a/drivers/usb/musb/Kconfig
> +++ b/drivers/usb/musb/Kconfig
> @@ -113,7 +113,6 @@ config USB_MUSB_JZ4740
> depends on NOP_USB_XCEIV
> depends on MIPS || COMPILE_TEST
> depends on USB_MUSB_GADGET
> - depends on USB_OTG_BLACKLIST_HUB
>
> config USB_MUSB_AM335X_CHILD
> tristate
> --
> 2.11.0
>