* [PATCH 0/2] max3421: add devicetree support @ 2017-09-15 16:58 Jules Maselbas [not found] ` <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 0 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-09-15 16:58 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Hi, This patchset adds devicetree support to the max3421 driver. Thoses modification are based on a previous (unapplied) patch series by Alexander Amelkin [1]. Since I am not a kernel expert I would a like to have your feedbacks on: 1. Under which condition pdata must be freed (in max3421_probe) ? 2. If it neccessary to free platform_data in max3421_remove function ? Thank you, [1]: [https://lkml.org/lkml/2017/5/26/285] --- Jules Maselbas (2): usb: max3421: Add devicetree support dt-bindings: max3421: Add bindings documentation .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++ drivers/usb/host/max3421-hcd.c | 87 +++++++++++++++++++++- 2 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* [PATCH 1/2] usb: max3421: Add devicetree support [not found] ` <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-09-15 16:58 ` Jules Maselbas 2017-09-15 16:58 ` [PATCH 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas 2017-10-15 23:43 ` [PATCH v2 0/2] max3421: add devicetree support Jules Maselbas 2 siblings, 0 replies; 18+ messages in thread From: Jules Maselbas @ 2017-09-15 16:58 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds support for devicetree to the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> --- drivers/usb/host/max3421-hcd.c | 87 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c index 0ece9a9341e5..928a5aabee02 100644 --- a/drivers/usb/host/max3421-hcd.c +++ b/drivers/usb/host/max3421-hcd.c @@ -60,6 +60,7 @@ #include <linux/spi/spi.h> #include <linux/usb.h> #include <linux/usb/hcd.h> +#include <linux/of.h> #include <linux/platform_data/max3421-hcd.h> @@ -85,6 +86,8 @@ USB_PORT_STAT_C_OVERCURRENT | \ USB_PORT_STAT_C_RESET) << 16) +#define MAX3421_GPOUT_COUNT 8 + enum max3421_rh_state { MAX3421_RH_RESET, MAX3421_RH_SUSPENDED, @@ -1672,7 +1675,7 @@ max3421_gpout_set_value(struct usb_hcd *hcd, u8 pin_number, u8 value) u8 mask, idx; --pin_number; - if (pin_number > 7) + if (pin_number >= MAX3421_GPOUT_COUNT) return; mask = 1u << (pin_number % 4); @@ -1699,6 +1702,10 @@ max3421_hub_control(struct usb_hcd *hcd, u16 type_req, u16 value, u16 index, spin_lock_irqsave(&max3421_hcd->lock, flags); pdata = spi->dev.platform_data; + if (!pdata) { + dev_err(&spi->dev, "Device platform data is missing\n"); + return -EFAULT; + } switch (type_req) { case ClearHubFeature: @@ -1831,11 +1838,35 @@ static const struct hc_driver max3421_hcd_desc = { .bus_resume = max3421_bus_resume, }; +static int +max3421_of_vbus_en_pin(struct device *dev, struct max3421_hcd_platform_data *pdata) +{ + int retval; + uint32_t value[2]; + + if (!pdata) + return -EINVAL; + + retval = of_property_read_u32_array(dev->of_node, "maxim,vbus-en-pin", value, 2); + if (retval) { + dev_err(dev, "device tree node property 'maxim,vbus-en-pin' is missing\n"); + return retval; + } + dev_info(dev, "property 'maxim,vbus-en-pin' value is <%d %d>\n", value[0], value[1]); + + pdata->vbus_gpout = value[0]; + pdata->vbus_active_level = value[1]; + + return 0; +} + static int max3421_probe(struct spi_device *spi) { + struct device *dev = &spi->dev; struct max3421_hcd *max3421_hcd; struct usb_hcd *hcd = NULL; + struct max3421_hcd_platform_data *pdata = NULL; int retval = -ENOMEM; if (spi_setup(spi) < 0) { @@ -1843,6 +1874,42 @@ max3421_probe(struct spi_device *spi) return -EFAULT; } + if (!spi->irq) { + dev_err(dev, "Failed to get SPI IRQ"); + return -EFAULT; + } + + if (IS_ENABLED(CONFIG_OF) && dev->of_node) { + pdata = devm_kzalloc(&spi->dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) { + dev_err(&spi->dev, "failed to allocate memory for private data\n"); + retval = -ENOMEM; + goto error; + } + retval = max3421_of_vbus_en_pin(dev, pdata); + if (retval) + goto error; + + spi->dev.platform_data = pdata; + } + + pdata = spi->dev.platform_data; + if (!pdata) { + dev_err(&spi->dev, "driver configuration data is not provided\n"); + retval = -EFAULT; + goto error; + } + if (pdata->vbus_active_level > 1) { + dev_err(&spi->dev, "vbus active level value %d is out of range (0/1)\n", pdata->vbus_active_level); + retval = -EINVAL; + goto error; + } + if (pdata->vbus_gpout < 1 || pdata->vbus_gpout > MAX3421_GPOUT_COUNT) { + dev_err(&spi->dev, "vbus gpout value %d is out of range (1..8)\n", pdata->vbus_gpout); + retval = -EINVAL; + goto error; + } + hcd = usb_create_hcd(&max3421_hcd_desc, &spi->dev, dev_name(&spi->dev)); if (!hcd) { @@ -1885,6 +1952,11 @@ max3421_probe(struct spi_device *spi) return 0; error: + if (IS_ENABLED(CONFIG_OF) && dev->of_node && pdata) { + devm_kfree(&spi->dev, pdata); + spi->dev.platform_data = NULL; + } + if (hcd) { kfree(max3421_hcd->tx); kfree(max3421_hcd->rx); @@ -1923,17 +1995,30 @@ max3421_remove(struct spi_device *spi) spin_unlock_irqrestore(&max3421_hcd->lock, flags); + if (IS_ENABLED(CONFIG_OF) && spi->dev.platform_data) { + dev_dbg(&spi->dev, "Freeing platform data structure\n"); + devm_kfree(&spi->dev, spi->dev.platform_data); + spi->dev.platform_data = NULL; + } + free_irq(spi->irq, hcd); usb_put_hcd(hcd); return 0; } +static const struct of_device_id max3421_of_match_table[] = { + { .compatible = "maxim,max3421", }, + {}, +}; +MODULE_DEVICE_TABLE(of, max3421_of_match_table); + static struct spi_driver max3421_driver = { .probe = max3421_probe, .remove = max3421_remove, .driver = { .name = "max3421-hcd", + .of_match_table = of_match_ptr(max3421_of_match_table), }, }; -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-09-15 16:58 ` [PATCH 1/2] usb: max3421: Add " Jules Maselbas @ 2017-09-15 16:58 ` Jules Maselbas [not found] ` <a69d2c5fc640fa0f4c9e9edb45da98fae39cfbac.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-15 23:43 ` [PATCH v2 0/2] max3421: add devicetree support Jules Maselbas 2 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-09-15 16:58 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds bindings documentation for the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> --- .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt b/Documentation/devicetree/bindings/usb/maxim,max3421.txt new file mode 100644 index 000000000000..7536c3ab3e5a --- /dev/null +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt @@ -0,0 +1,24 @@ +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E + +Required properties: + - compatible: "maxim,max3421" + - spi-max-frequency: maximum frequency for this device must not exceed 26 MHz. + - reg: chip select number to which this device is connected. + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. + ACTIVE_LEVEL is 0 or 1. + - interrupt-parent: the phandle of the associated interrupt controller. + - interrupts: the interuption line description for the interrupt controller. + The driver configures MAX3421E for active low level triggered interrupts, + configure your interrupt line accordingly. + +Example: + + usb@0 { + compatible = "maxim,max3421"; + reg = <0>; + maxim,vbus-en-pin = <3 1>; + spi-max-frequency = <26000000>; + interrupt-parent = <&PIC>; + interrupts = <42>; + }; -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <a69d2c5fc640fa0f4c9e9edb45da98fae39cfbac.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* Re: [PATCH 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <a69d2c5fc640fa0f4c9e9edb45da98fae39cfbac.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-09-20 20:52 ` Rob Herring 0 siblings, 0 replies; 18+ messages in thread From: Rob Herring @ 2017-09-20 20:52 UTC (permalink / raw) To: Jules Maselbas Cc: Greg Kroah-Hartman, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On Fri, Sep 15, 2017 at 06:58:46PM +0200, Jules Maselbas wrote: > Adds bindings documentation for the max3421 driver. > > Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> > --- > .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 0/2] max3421: add devicetree support [not found] ` <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-09-15 16:58 ` [PATCH 1/2] usb: max3421: Add " Jules Maselbas 2017-09-15 16:58 ` [PATCH 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas @ 2017-10-15 23:43 ` Jules Maselbas [not found] ` <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-10-15 23:43 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: julia.lawall-L2FTfq7BK8M, robh-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Hi, This patchset adds devicetree support to the max3421 driver. Theses modification are based on a previous (unapplied) patch series by Alexander Amelkin [1]. Changes since v2: * The platform_data is no longer freed in max3421_remove() as it is allocated with devm_kzalloc. * Removed the dev_err print if devm_kzalloc fail. * Removed a test for platform_data null pointer in max3421_hub_control() as the driver probe will fail if no platform_data is found. Thank you. [1]: [https://lkml.org/lkml/2017/5/26/285] --- Jules Maselbas (2): usb: max3421: Add devicetree support dt-bindings: max3421: Add bindings documentation .../devicetree/bindings/usb/maxim,max3421.txt | 24 +++++++ drivers/usb/host/max3421-hcd.c | 75 +++++++++++++++++++++- 2 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* [PATCH v2 1/2] usb: max3421: Add devicetree support [not found] ` <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-10-15 23:43 ` Jules Maselbas 2017-10-15 23:43 ` [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas 2017-10-23 23:08 ` [PATCH v3 0/2] max3421: add devicetree support Jules Maselbas 2 siblings, 0 replies; 18+ messages in thread From: Jules Maselbas @ 2017-10-15 23:43 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: julia.lawall-L2FTfq7BK8M, robh-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds support for devicetree to the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> --- drivers/usb/host/max3421-hcd.c | 75 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c index 0ece9a9341e5..d77b3f27c6e7 100644 --- a/drivers/usb/host/max3421-hcd.c +++ b/drivers/usb/host/max3421-hcd.c @@ -60,6 +60,7 @@ #include <linux/spi/spi.h> #include <linux/usb.h> #include <linux/usb/hcd.h> +#include <linux/of.h> #include <linux/platform_data/max3421-hcd.h> @@ -85,6 +86,8 @@ USB_PORT_STAT_C_OVERCURRENT | \ USB_PORT_STAT_C_RESET) << 16) +#define MAX3421_GPOUT_COUNT 8 + enum max3421_rh_state { MAX3421_RH_RESET, MAX3421_RH_SUSPENDED, @@ -1672,7 +1675,7 @@ max3421_gpout_set_value(struct usb_hcd *hcd, u8 pin_number, u8 value) u8 mask, idx; --pin_number; - if (pin_number > 7) + if (pin_number >= MAX3421_GPOUT_COUNT) return; mask = 1u << (pin_number % 4); @@ -1831,11 +1834,35 @@ static const struct hc_driver max3421_hcd_desc = { .bus_resume = max3421_bus_resume, }; +static int +max3421_of_vbus_en_pin(struct device *dev, struct max3421_hcd_platform_data *pdata) +{ + int retval; + uint32_t value[2]; + + if (!pdata) + return -EINVAL; + + retval = of_property_read_u32_array(dev->of_node, "maxim,vbus-en-pin", value, 2); + if (retval) { + dev_err(dev, "device tree node property 'maxim,vbus-en-pin' is missing\n"); + return retval; + } + dev_info(dev, "property 'maxim,vbus-en-pin' value is <%d %d>\n", value[0], value[1]); + + pdata->vbus_gpout = value[0]; + pdata->vbus_active_level = value[1]; + + return 0; +} + static int max3421_probe(struct spi_device *spi) { + struct device *dev = &spi->dev; struct max3421_hcd *max3421_hcd; struct usb_hcd *hcd = NULL; + struct max3421_hcd_platform_data *pdata = NULL; int retval = -ENOMEM; if (spi_setup(spi) < 0) { @@ -1843,6 +1870,40 @@ max3421_probe(struct spi_device *spi) return -EFAULT; } + if (!spi->irq) { + dev_err(dev, "Failed to get SPI IRQ"); + return -EFAULT; + } + + if (IS_ENABLED(CONFIG_OF) && dev->of_node) { + pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) { + retval = -ENOMEM; + goto error; + } + retval = max3421_of_vbus_en_pin(dev, pdata); + if (retval) + goto error; + spi->dev.platform_data = pdata; + } + + pdata = dev->platform_data; + if (!pdata) { + dev_err(dev, "driver configuration data is not provided\n"); + retval = -EFAULT; + goto error; + } + if (pdata->vbus_active_level > 1) { + dev_err(dev, "vbus active level value %d is out of range (0/1)\n", pdata->vbus_active_level); + retval = -EINVAL; + goto error; + } + if (pdata->vbus_gpout < 1 || pdata->vbus_gpout > MAX3421_GPOUT_COUNT) { + dev_err(dev, "vbus gpout value %d is out of range (1..8)\n", pdata->vbus_gpout); + retval = -EINVAL; + goto error; + } + hcd = usb_create_hcd(&max3421_hcd_desc, &spi->dev, dev_name(&spi->dev)); if (!hcd) { @@ -1885,6 +1946,11 @@ max3421_probe(struct spi_device *spi) return 0; error: + if (IS_ENABLED(CONFIG_OF) && dev->of_node && pdata) { + devm_kfree(&spi->dev, pdata); + spi->dev.platform_data = NULL; + } + if (hcd) { kfree(max3421_hcd->tx); kfree(max3421_hcd->rx); @@ -1929,11 +1995,18 @@ max3421_remove(struct spi_device *spi) return 0; } +static const struct of_device_id max3421_of_match_table[] = { + { .compatible = "maxim,max3421", }, + {}, +}; +MODULE_DEVICE_TABLE(of, max3421_of_match_table); + static struct spi_driver max3421_driver = { .probe = max3421_probe, .remove = max3421_remove, .driver = { .name = "max3421-hcd", + .of_match_table = of_match_ptr(max3421_of_match_table), }, }; -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-15 23:43 ` [PATCH v2 1/2] usb: max3421: Add " Jules Maselbas @ 2017-10-15 23:43 ` Jules Maselbas [not found] ` <832170edafa26b7b2bed76afe170f1c9c4f7b9ae.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-23 23:08 ` [PATCH v3 0/2] max3421: add devicetree support Jules Maselbas 2 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-10-15 23:43 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: julia.lawall-L2FTfq7BK8M, robh-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds bindings documentation for the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> --- .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt b/Documentation/devicetree/bindings/usb/maxim,max3421.txt new file mode 100644 index 000000000000..7536c3ab3e5a --- /dev/null +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt @@ -0,0 +1,24 @@ +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E + +Required properties: + - compatible: "maxim,max3421" + - spi-max-frequency: maximum frequency for this device must not exceed 26 MHz. + - reg: chip select number to which this device is connected. + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. + ACTIVE_LEVEL is 0 or 1. + - interrupt-parent: the phandle of the associated interrupt controller. + - interrupts: the interuption line description for the interrupt controller. + The driver configures MAX3421E for active low level triggered interrupts, + configure your interrupt line accordingly. + +Example: + + usb@0 { + compatible = "maxim,max3421"; + reg = <0>; + maxim,vbus-en-pin = <3 1>; + spi-max-frequency = <26000000>; + interrupt-parent = <&PIC>; + interrupts = <42>; + }; -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <832170edafa26b7b2bed76afe170f1c9c4f7b9ae.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <832170edafa26b7b2bed76afe170f1c9c4f7b9ae.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-10-16 9:04 ` Sergei Shtylyov [not found] ` <a064c008-2268-26ef-edee-47bda38b117b-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 2017-10-17 19:04 ` Rob Herring 1 sibling, 1 reply; 18+ messages in thread From: Sergei Shtylyov @ 2017-10-16 9:04 UTC (permalink / raw) To: Jules Maselbas, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: julia.lawall-L2FTfq7BK8M, robh-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA Hello! On 10/16/2017 2:43 AM, Jules Maselbas wrote: > Adds bindings documentation for the max3421 driver. > > Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> > --- > .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt > > diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt b/Documentation/devicetree/bindings/usb/maxim,max3421.txt > new file mode 100644 > index 000000000000..7536c3ab3e5a > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt > @@ -0,0 +1,24 @@ > +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E > + > +Required properties: > + - compatible: "maxim,max3421" > + - spi-max-frequency: maximum frequency for this device must not exceed 26 MHz. > + - reg: chip select number to which this device is connected. > + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> > + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. > + ACTIVE_LEVEL is 0 or 1. > + - interrupt-parent: the phandle of the associated interrupt controller. This is never a required prob, it may be inherited from the parent nodes. > + - interrupts: the interuption line description for the interrupt controller. Interrupt. [...] MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <a064c008-2268-26ef-edee-47bda38b117b-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>]
* Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <a064c008-2268-26ef-edee-47bda38b117b-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> @ 2017-10-16 20:21 ` Sergei Shtylyov [not found] ` <6a3f35f1-dae9-063d-963e-812a7341f612-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 0 siblings, 1 reply; 18+ messages in thread From: Sergei Shtylyov @ 2017-10-16 20:21 UTC (permalink / raw) To: Jules Maselbas, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: julia.lawall-L2FTfq7BK8M, robh-DgEjT+Ai2ygdnm+yROfE0A, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On 10/16/2017 12:04 PM, Sergei Shtylyov wrote: >> Adds bindings documentation for the max3421 driver. >> >> Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> >> --- >> .../devicetree/bindings/usb/maxim,max3421.txt | 24 >> ++++++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt >> >> diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> b/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> new file mode 100644 >> index 000000000000..7536c3ab3e5a >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> @@ -0,0 +1,24 @@ >> +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E >> + >> +Required properties: >> + - compatible: "maxim,max3421" >> + - spi-max-frequency: maximum frequency for this device must not exceed 26 >> MHz. >> + - reg: chip select number to which this device is connected. >> + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> >> + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. >> + ACTIVE_LEVEL is 0 or 1. >> + - interrupt-parent: the phandle of the associated interrupt controller. > > This is never a required prob, it may be inherited from the parent nodes. Prop, sorry. :-) [...] MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <6a3f35f1-dae9-063d-963e-812a7341f612-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>]
* Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <6a3f35f1-dae9-063d-963e-812a7341f612-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> @ 2017-10-16 21:22 ` Jules Maselbas [not found] ` <1452233455.381184.1508188958452.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 0 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-10-16 21:22 UTC (permalink / raw) To: Sergei Shtylyov Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, julia lawall, robh-DgEjT+Ai2ygdnm+yROfE0A, mark rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA Thanks Sergei, Is it better if the documentation say: " Optional property: - interrupt-parent: the phandle of the associated interrupt controller. " or should I also add that "it may be inherited from the parent nodes."? Jules Maselbas. ----- Mail original ----- De: "Sergei Shtylyov" <sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> À: "Jules Maselbas" <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>, gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org Cc: "julia lawall" <julia.lawall-L2FTfq7BK8M@public.gmane.org>, robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, "mark rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Envoyé: Lundi 16 Octobre 2017 22:21:53 Objet: Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation On 10/16/2017 12:04 PM, Sergei Shtylyov wrote: >> Adds bindings documentation for the max3421 driver. >> >> Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> >> --- >> .../devicetree/bindings/usb/maxim,max3421.txt | 24 >> ++++++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt >> >> diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> b/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> new file mode 100644 >> index 000000000000..7536c3ab3e5a >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt >> @@ -0,0 +1,24 @@ >> +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E >> + >> +Required properties: >> + - compatible: "maxim,max3421" >> + - spi-max-frequency: maximum frequency for this device must not exceed 26 >> MHz. >> + - reg: chip select number to which this device is connected. >> + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> >> + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. >> + ACTIVE_LEVEL is 0 or 1. >> + - interrupt-parent: the phandle of the associated interrupt controller. > > This is never a required prob, it may be inherited from the parent nodes. Prop, sorry. :-) [...] MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <1452233455.381184.1508188958452.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <1452233455.381184.1508188958452.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-10-17 19:06 ` Sergei Shtylyov 0 siblings, 0 replies; 18+ messages in thread From: Sergei Shtylyov @ 2017-10-17 19:06 UTC (permalink / raw) To: Jules Maselbas Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, julia lawall, robh-DgEjT+Ai2ygdnm+yROfE0A, mark rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On 10/17/2017 12:22 AM, Jules Maselbas wrote: > Thanks Sergei, > > Is it better if the documentation say: > " > Optional property: > - interrupt-parent: the phandle of the associated interrupt controller. > " That should be enough. > or should I also add that "it may be inherited from the parent nodes."? > > Jules Maselbas. MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <832170edafa26b7b2bed76afe170f1c9c4f7b9ae.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-16 9:04 ` Sergei Shtylyov @ 2017-10-17 19:04 ` Rob Herring 1 sibling, 0 replies; 18+ messages in thread From: Rob Herring @ 2017-10-17 19:04 UTC (permalink / raw) To: Jules Maselbas Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, julia.lawall-L2FTfq7BK8M, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On Mon, Oct 16, 2017 at 01:43:06AM +0200, Jules Maselbas wrote: > Adds bindings documentation for the max3421 driver. > > Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> > --- > .../devicetree/bindings/usb/maxim,max3421.txt | 24 ++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt Please add acks when posting new versions. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/2] max3421: add devicetree support [not found] ` <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-15 23:43 ` [PATCH v2 1/2] usb: max3421: Add " Jules Maselbas 2017-10-15 23:43 ` [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas @ 2017-10-23 23:08 ` Jules Maselbas [not found] ` <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-10-23 23:08 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: robh-DgEjT+Ai2ygdnm+yROfE0A, julia.lawall-L2FTfq7BK8M, sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Hi, This patchset adds devicetree support to the max3421 driver. Theses modification are based on a previous (unapplied) patch series by Alexander Amelkin [1]. Changes in v3: * Documentation modification, interrupt-parent is optional. Changes in v2: * The platform_data is no longer freed in max3421_remove() as it is allocated with devm_kzalloc. * Removed the dev_err print if devm_kzalloc fail. * Removed a test for platform_data null pointer in max3421_hub_control() as the driver probe will fail if no platform_data is found. Thank you. [1]: [https://lkml.org/lkml/2017/5/26/285] --- Jules Maselbas (2): usb: max3421: Add devicetree support dt-bindings: max3421: Add bindings documentation .../devicetree/bindings/usb/maxim,max3421.txt | 25 ++++++++ drivers/usb/host/max3421-hcd.c | 75 +++++++++++++++++++++- 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* [PATCH v3 1/2] usb: max3421: Add devicetree support [not found] ` <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-10-23 23:08 ` Jules Maselbas 2017-10-23 23:08 ` [PATCH v3 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas 2017-11-01 16:12 ` [PATCH v3 0/2] max3421: add devicetree support Greg KH 2 siblings, 0 replies; 18+ messages in thread From: Jules Maselbas @ 2017-10-23 23:08 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: robh-DgEjT+Ai2ygdnm+yROfE0A, julia.lawall-L2FTfq7BK8M, sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds support for devicetree to the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> --- drivers/usb/host/max3421-hcd.c | 75 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c index 0ece9a9341e5..d77b3f27c6e7 100644 --- a/drivers/usb/host/max3421-hcd.c +++ b/drivers/usb/host/max3421-hcd.c @@ -60,6 +60,7 @@ #include <linux/spi/spi.h> #include <linux/usb.h> #include <linux/usb/hcd.h> +#include <linux/of.h> #include <linux/platform_data/max3421-hcd.h> @@ -85,6 +86,8 @@ USB_PORT_STAT_C_OVERCURRENT | \ USB_PORT_STAT_C_RESET) << 16) +#define MAX3421_GPOUT_COUNT 8 + enum max3421_rh_state { MAX3421_RH_RESET, MAX3421_RH_SUSPENDED, @@ -1672,7 +1675,7 @@ max3421_gpout_set_value(struct usb_hcd *hcd, u8 pin_number, u8 value) u8 mask, idx; --pin_number; - if (pin_number > 7) + if (pin_number >= MAX3421_GPOUT_COUNT) return; mask = 1u << (pin_number % 4); @@ -1831,11 +1834,35 @@ static const struct hc_driver max3421_hcd_desc = { .bus_resume = max3421_bus_resume, }; +static int +max3421_of_vbus_en_pin(struct device *dev, struct max3421_hcd_platform_data *pdata) +{ + int retval; + uint32_t value[2]; + + if (!pdata) + return -EINVAL; + + retval = of_property_read_u32_array(dev->of_node, "maxim,vbus-en-pin", value, 2); + if (retval) { + dev_err(dev, "device tree node property 'maxim,vbus-en-pin' is missing\n"); + return retval; + } + dev_info(dev, "property 'maxim,vbus-en-pin' value is <%d %d>\n", value[0], value[1]); + + pdata->vbus_gpout = value[0]; + pdata->vbus_active_level = value[1]; + + return 0; +} + static int max3421_probe(struct spi_device *spi) { + struct device *dev = &spi->dev; struct max3421_hcd *max3421_hcd; struct usb_hcd *hcd = NULL; + struct max3421_hcd_platform_data *pdata = NULL; int retval = -ENOMEM; if (spi_setup(spi) < 0) { @@ -1843,6 +1870,40 @@ max3421_probe(struct spi_device *spi) return -EFAULT; } + if (!spi->irq) { + dev_err(dev, "Failed to get SPI IRQ"); + return -EFAULT; + } + + if (IS_ENABLED(CONFIG_OF) && dev->of_node) { + pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) { + retval = -ENOMEM; + goto error; + } + retval = max3421_of_vbus_en_pin(dev, pdata); + if (retval) + goto error; + spi->dev.platform_data = pdata; + } + + pdata = dev->platform_data; + if (!pdata) { + dev_err(dev, "driver configuration data is not provided\n"); + retval = -EFAULT; + goto error; + } + if (pdata->vbus_active_level > 1) { + dev_err(dev, "vbus active level value %d is out of range (0/1)\n", pdata->vbus_active_level); + retval = -EINVAL; + goto error; + } + if (pdata->vbus_gpout < 1 || pdata->vbus_gpout > MAX3421_GPOUT_COUNT) { + dev_err(dev, "vbus gpout value %d is out of range (1..8)\n", pdata->vbus_gpout); + retval = -EINVAL; + goto error; + } + hcd = usb_create_hcd(&max3421_hcd_desc, &spi->dev, dev_name(&spi->dev)); if (!hcd) { @@ -1885,6 +1946,11 @@ max3421_probe(struct spi_device *spi) return 0; error: + if (IS_ENABLED(CONFIG_OF) && dev->of_node && pdata) { + devm_kfree(&spi->dev, pdata); + spi->dev.platform_data = NULL; + } + if (hcd) { kfree(max3421_hcd->tx); kfree(max3421_hcd->rx); @@ -1929,11 +1995,18 @@ max3421_remove(struct spi_device *spi) return 0; } +static const struct of_device_id max3421_of_match_table[] = { + { .compatible = "maxim,max3421", }, + {}, +}; +MODULE_DEVICE_TABLE(of, max3421_of_match_table); + static struct spi_driver max3421_driver = { .probe = max3421_probe, .remove = max3421_remove, .driver = { .name = "max3421-hcd", + .of_match_table = of_match_ptr(max3421_of_match_table), }, }; -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 2/2] dt-bindings: max3421: Add bindings documentation [not found] ` <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-23 23:08 ` [PATCH v3 1/2] usb: max3421: Add " Jules Maselbas @ 2017-10-23 23:08 ` Jules Maselbas 2017-11-01 16:12 ` [PATCH v3 0/2] max3421: add devicetree support Greg KH 2 siblings, 0 replies; 18+ messages in thread From: Jules Maselbas @ 2017-10-23 23:08 UTC (permalink / raw) To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r Cc: robh-DgEjT+Ai2ygdnm+yROfE0A, julia.lawall-L2FTfq7BK8M, sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA, Jules Maselbas Adds bindings documentation for the max3421 driver. Signed-off-by: Jules Maselbas <jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> --- .../devicetree/bindings/usb/maxim,max3421.txt | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt b/Documentation/devicetree/bindings/usb/maxim,max3421.txt new file mode 100644 index 000000000000..5c699e52ce3f --- /dev/null +++ b/Documentation/devicetree/bindings/usb/maxim,max3421.txt @@ -0,0 +1,25 @@ +Maxim Integrated SPI-based USB 2.0 host controller MAX3421E + +Required properties: + - compatible: Should be "maxim,max3421" + - spi-max-frequency: maximum frequency for this device must not exceed 26 MHz. + - reg: chip select number to which this device is connected. + - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL> + GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus. + ACTIVE_LEVEL is 0 or 1. + - interrupts: the interrupt line description for the interrupt controller. + The driver configures MAX3421E for active low level triggered interrupts, + configure your interrupt line accordingly. + +Optional property: + - interrupt-parent: the phandle to the associated interrupt controller. + +Example: + usb@0 { + compatible = "maxim,max3421"; + reg = <0>; + maxim,vbus-en-pin = <3 1>; + spi-max-frequency = <26000000>; + interrupt-parent = <&PIC>; + interrupts = <42>; + }; -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/2] max3421: add devicetree support [not found] ` <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-23 23:08 ` [PATCH v3 1/2] usb: max3421: Add " Jules Maselbas 2017-10-23 23:08 ` [PATCH v3 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas @ 2017-11-01 16:12 ` Greg KH [not found] ` <20171101161237.GA30588-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> 2 siblings, 1 reply; 18+ messages in thread From: Greg KH @ 2017-11-01 16:12 UTC (permalink / raw) To: Jules Maselbas Cc: robh-DgEjT+Ai2ygdnm+yROfE0A, julia.lawall-L2FTfq7BK8M, sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8, mark.rutland-5wv7dgnIgG8, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On Tue, Oct 24, 2017 at 01:08:41AM +0200, Jules Maselbas wrote: > Hi, > > This patchset adds devicetree support to the max3421 driver. > Theses modification are based on a previous (unapplied) patch > series by Alexander Amelkin [1]. I've already applied this series, right? If there were any changes from the older patch that I applied, can you send a fix-up patch? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <20171101161237.GA30588-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v3 0/2] max3421: add devicetree support [not found] ` <20171101161237.GA30588-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> @ 2017-11-01 16:50 ` Jules Maselbas [not found] ` <2145557244.443021.1509555056126.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 0 siblings, 1 reply; 18+ messages in thread From: Jules Maselbas @ 2017-11-01 16:50 UTC (permalink / raw) To: gregkh Cc: robh, julia lawall, Sergei Shtylyov, mark rutland, devicetree, linux-usb Yes, The first version of this patch series was already applied (on usb-next). I made new versions because I forgot that there are no rebase. So this is why I sent new patch. The newest (v3) version has been split in two patch and also applied (on usb-testing). 9b796ffcd16dfaf820ecc6a9dc287e6d758a556e dt-bindings: usb: max3421: Interrupt-parent is optional 892f6ebc53ac1a12a26c21eb26d18064461a7007 usb: host: max3421-hcd: Remove pdata test in max3421_hub_control() I am not sure, are theses patch fix-up? Thanks, Jules. ----- Le 1 Nov 17, à 17:12, gregkh gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org a écrit : > On Tue, Oct 24, 2017 at 01:08:41AM +0200, Jules Maselbas wrote: >> Hi, >> >> This patchset adds devicetree support to the max3421 driver. >> Theses modification are based on a previous (unapplied) patch >> series by Alexander Amelkin [1]. > > I've already applied this series, right? If there were any changes from > the older patch that I applied, can you send a fix-up patch? > > thanks, > > greg k-h > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <2145557244.443021.1509555056126.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org>]
* Re: [PATCH v3 0/2] max3421: add devicetree support [not found] ` <2145557244.443021.1509555056126.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> @ 2017-11-01 17:01 ` gregkh 0 siblings, 0 replies; 18+ messages in thread From: gregkh @ 2017-11-01 17:01 UTC (permalink / raw) To: Jules Maselbas Cc: robh, julia lawall, Sergei Shtylyov, mark rutland, devicetree, linux-usb On Wed, Nov 01, 2017 at 05:50:56PM +0100, Jules Maselbas wrote: > Yes, > > The first version of this patch series was already applied (on usb-next). > I made new versions because I forgot that there are no rebase. So this is why I sent new patch. > > The newest (v3) version has been split in two patch and also applied (on usb-testing). > 9b796ffcd16dfaf820ecc6a9dc287e6d758a556e dt-bindings: usb: max3421: Interrupt-parent is optional > 892f6ebc53ac1a12a26c21eb26d18064461a7007 usb: host: max3421-hcd: Remove pdata test in max3421_hub_control() > > I am not sure, are theses patch fix-up? If you are happy with all of the patches I've now taken, all is good :) If not, please send me what needs to be applied. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2017-11-01 17:01 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-09-15 16:58 [PATCH 0/2] max3421: add devicetree support Jules Maselbas [not found] ` <cover.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-09-15 16:58 ` [PATCH 1/2] usb: max3421: Add " Jules Maselbas 2017-09-15 16:58 ` [PATCH 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas [not found] ` <a69d2c5fc640fa0f4c9e9edb45da98fae39cfbac.1505492941.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-09-20 20:52 ` Rob Herring 2017-10-15 23:43 ` [PATCH v2 0/2] max3421: add devicetree support Jules Maselbas [not found] ` <cover.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-15 23:43 ` [PATCH v2 1/2] usb: max3421: Add " Jules Maselbas 2017-10-15 23:43 ` [PATCH v2 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas [not found] ` <832170edafa26b7b2bed76afe170f1c9c4f7b9ae.1508108927.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-16 9:04 ` Sergei Shtylyov [not found] ` <a064c008-2268-26ef-edee-47bda38b117b-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 2017-10-16 20:21 ` Sergei Shtylyov [not found] ` <6a3f35f1-dae9-063d-963e-812a7341f612-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org> 2017-10-16 21:22 ` Jules Maselbas [not found] ` <1452233455.381184.1508188958452.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-17 19:06 ` Sergei Shtylyov 2017-10-17 19:04 ` Rob Herring 2017-10-23 23:08 ` [PATCH v3 0/2] max3421: add devicetree support Jules Maselbas [not found] ` <cover.1508798984.git.jules.maselbas-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-10-23 23:08 ` [PATCH v3 1/2] usb: max3421: Add " Jules Maselbas 2017-10-23 23:08 ` [PATCH v3 2/2] dt-bindings: max3421: Add bindings documentation Jules Maselbas 2017-11-01 16:12 ` [PATCH v3 0/2] max3421: add devicetree support Greg KH [not found] ` <20171101161237.GA30588-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> 2017-11-01 16:50 ` Jules Maselbas [not found] ` <2145557244.443021.1509555056126.JavaMail.zimbra-l+/54qjP3hgoQXW8ST3Jvw@public.gmane.org> 2017-11-01 17:01 ` gregkh
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.