From: ahaslam@baylibre.com To: gregkh@linuxfoundation.org, johan@kernel.org, robh+dt@kernel.org, nsekhar@ti.com, stern@rowland.harvard.edu, khilman@baylibre.com, sshtylyov@ru.mvista.com, david@lechnology.com, manjunath.goudar@linaro.org, broonie@kernel.org, abailon@baylibre.com Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Axel Haslam <ahaslam@baylibre.com> Subject: [PATCH/RFT v2 00/17] Add DT support for ohci-da8xx Date: Mon, 24 Oct 2016 18:46:17 +0200 [thread overview] Message-ID: <20161024164634.4330-1-ahaslam@baylibre.com> (raw) From: Axel Haslam <ahaslam@baylibre.com> The purpose of this patch series is to add DT support and modernize the ohci-da8xx glue driver without breaking the non-DT boot, which is still used in unconverted davinci devices. The first couple of patches, are the recent and ongoing efforts from David Lechner to clean up davinci-mach code and the ochi-da8xx driver, Im including these patches on this series for completeness sake. Then I re-based an old patch by Manjunath Goudar[4] to be able to build the driver as a module. We can now add this patch because we removed references to sysconf registers by using David's patches. Then I prepare the stage for a DT boot which does not depend on any mach-arch/* callbacks by using a regulator to handle the vbus and over current gpios. For this, i extended the fixed regulator driver to register for an irq and send a regulator notification if an over curent pin is specified. The only dependency left for this series is the recently re-posted patch by David to remove references to mach-code[1], which is approved and should be picked up soon. Note 1: Testing was done on a omap138-lcdk board, using DT, and non-DT boot, and checking that in both cases the hub, usb mass storage and an input device are correctly enumerated and working. The omap138-lcdk does not have gpios to control vbus and get over current interrupt notifications. If anyone has a da830-evm based board and could confirm that ohci is correctly working, i would appreciate it. (the OHCI option needs to be enabled in menuconfig) Note 2: It seems that the davinci-gpio driver is broken for DT based boot and any gpio > 32. (luckly none of the DT based boards use gpios yet) The issue is discussed here [2] Note 3: A git branch based on tag: next-20161021 with the dependencies is available in my github here [3]. [1] usb: ohci-da8xx: Remove code that references mach http://marc.info/?l=linux-kernel&m=147632744323084&w=4 [2] thread about invalid gpio in davinci http://www.gossamer-threads.com/lists/linux/kernel/2550178 [3] Git branch: https://github.com/axelhaslamx/linux-axel/commits/ohci-da8xx-dt-v2.1 [4] Separate ohci-da8xx driver patch https://patches.linaro.org/patch/18234/ Changes from v1->v2 * Rebased and added patch to make ohci a separate driver * Use a regulator instead of handling Gpios (David Lechner) * Add an overcurrent mode to regulator framework * Fixed regulator is able to register for and overcurrent irq * Added patch by Alexandre to remove build warnings * Moved global variables into private hcd structure. Alexandre Bailon (1): ARM: davinci: da8xx: Fix some redefined symbol warnings Axel Haslam (10): ARM: davinci: da8xx: Enable the usb20 "per" clk on phy_clk_enable ARM: davinci: hawk: add full constraints for ohci plat boot regulator: fixed: Add over current event USB: da8xx: use flag instead of bitmask for over current change USB: ochi-da8xx: Use a regulator for vbus/overcurrent USB: da8xx: use ohci priv data instead of globals ARM: davinci: register the usb20_phy clock on the DT file usb: host: ohci-da8xx: Add devicetree bindings documentation USB: ohci-da8xx: Allow probing from DT ARM: dts: da850: add usb device node David Lechner (5): ARM: davinci: da8xx: add usb phy clocks ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration. ARM: davinci: da8xx: Add USB PHY platform declaration ARM: DTS: da850: Add cfgchip syscon node ARM: DTS: da850: Add usb phy node Manjunath Goudar (1): USB: OHCI: make ohci-da8xx a separate driver .../bindings/regulator/fixed-regulator.txt | 4 + .../devicetree/bindings/usb/ohci-da8xx.txt | 39 +++ arch/arm/boot/dts/da850-lcdk.dts | 8 + arch/arm/boot/dts/da850.dtsi | 17 + arch/arm/mach-davinci/board-da830-evm.c | 152 +++----- arch/arm/mach-davinci/board-da850-evm.c | 4 + arch/arm/mach-davinci/board-mityomapl138.c | 4 + arch/arm/mach-davinci/board-omapl138-hawk.c | 122 ++----- arch/arm/mach-davinci/da8xx-dt.c | 2 + arch/arm/mach-davinci/devices-da8xx.c | 28 ++ arch/arm/mach-davinci/include/mach/da8xx.h | 8 +- arch/arm/mach-davinci/usb-da8xx.c | 244 ++++++++++++- drivers/regulator/fixed.c | 64 ++++ drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-da8xx.c | 382 +++++++++++---------- drivers/usb/host/ohci-hcd.c | 18 - include/linux/platform_data/usb-davinci.h | 43 --- include/linux/regulator/consumer.h | 5 + include/linux/regulator/fixed.h | 3 + 20 files changed, 703 insertions(+), 447 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/ohci-da8xx.txt -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: ahaslam@baylibre.com (ahaslam at baylibre.com) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH/RFT v2 00/17] Add DT support for ohci-da8xx Date: Mon, 24 Oct 2016 18:46:17 +0200 [thread overview] Message-ID: <20161024164634.4330-1-ahaslam@baylibre.com> (raw) From: Axel Haslam <ahaslam@baylibre.com> The purpose of this patch series is to add DT support and modernize the ohci-da8xx glue driver without breaking the non-DT boot, which is still used in unconverted davinci devices. The first couple of patches, are the recent and ongoing efforts from David Lechner to clean up davinci-mach code and the ochi-da8xx driver, Im including these patches on this series for completeness sake. Then I re-based an old patch by Manjunath Goudar[4] to be able to build the driver as a module. We can now add this patch because we removed references to sysconf registers by using David's patches. Then I prepare the stage for a DT boot which does not depend on any mach-arch/* callbacks by using a regulator to handle the vbus and over current gpios. For this, i extended the fixed regulator driver to register for an irq and send a regulator notification if an over curent pin is specified. The only dependency left for this series is the recently re-posted patch by David to remove references to mach-code[1], which is approved and should be picked up soon. Note 1: Testing was done on a omap138-lcdk board, using DT, and non-DT boot, and checking that in both cases the hub, usb mass storage and an input device are correctly enumerated and working. The omap138-lcdk does not have gpios to control vbus and get over current interrupt notifications. If anyone has a da830-evm based board and could confirm that ohci is correctly working, i would appreciate it. (the OHCI option needs to be enabled in menuconfig) Note 2: It seems that the davinci-gpio driver is broken for DT based boot and any gpio > 32. (luckly none of the DT based boards use gpios yet) The issue is discussed here [2] Note 3: A git branch based on tag: next-20161021 with the dependencies is available in my github here [3]. [1] usb: ohci-da8xx: Remove code that references mach http://marc.info/?l=linux-kernel&m=147632744323084&w=4 [2] thread about invalid gpio in davinci http://www.gossamer-threads.com/lists/linux/kernel/2550178 [3] Git branch: https://github.com/axelhaslamx/linux-axel/commits/ohci-da8xx-dt-v2.1 [4] Separate ohci-da8xx driver patch https://patches.linaro.org/patch/18234/ Changes from v1->v2 * Rebased and added patch to make ohci a separate driver * Use a regulator instead of handling Gpios (David Lechner) * Add an overcurrent mode to regulator framework * Fixed regulator is able to register for and overcurrent irq * Added patch by Alexandre to remove build warnings * Moved global variables into private hcd structure. Alexandre Bailon (1): ARM: davinci: da8xx: Fix some redefined symbol warnings Axel Haslam (10): ARM: davinci: da8xx: Enable the usb20 "per" clk on phy_clk_enable ARM: davinci: hawk: add full constraints for ohci plat boot regulator: fixed: Add over current event USB: da8xx: use flag instead of bitmask for over current change USB: ochi-da8xx: Use a regulator for vbus/overcurrent USB: da8xx: use ohci priv data instead of globals ARM: davinci: register the usb20_phy clock on the DT file usb: host: ohci-da8xx: Add devicetree bindings documentation USB: ohci-da8xx: Allow probing from DT ARM: dts: da850: add usb device node David Lechner (5): ARM: davinci: da8xx: add usb phy clocks ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration. ARM: davinci: da8xx: Add USB PHY platform declaration ARM: DTS: da850: Add cfgchip syscon node ARM: DTS: da850: Add usb phy node Manjunath Goudar (1): USB: OHCI: make ohci-da8xx a separate driver .../bindings/regulator/fixed-regulator.txt | 4 + .../devicetree/bindings/usb/ohci-da8xx.txt | 39 +++ arch/arm/boot/dts/da850-lcdk.dts | 8 + arch/arm/boot/dts/da850.dtsi | 17 + arch/arm/mach-davinci/board-da830-evm.c | 152 +++----- arch/arm/mach-davinci/board-da850-evm.c | 4 + arch/arm/mach-davinci/board-mityomapl138.c | 4 + arch/arm/mach-davinci/board-omapl138-hawk.c | 122 ++----- arch/arm/mach-davinci/da8xx-dt.c | 2 + arch/arm/mach-davinci/devices-da8xx.c | 28 ++ arch/arm/mach-davinci/include/mach/da8xx.h | 8 +- arch/arm/mach-davinci/usb-da8xx.c | 244 ++++++++++++- drivers/regulator/fixed.c | 64 ++++ drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 1 + drivers/usb/host/ohci-da8xx.c | 382 +++++++++++---------- drivers/usb/host/ohci-hcd.c | 18 - include/linux/platform_data/usb-davinci.h | 43 --- include/linux/regulator/consumer.h | 5 + include/linux/regulator/fixed.h | 3 + 20 files changed, 703 insertions(+), 447 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/ohci-da8xx.txt -- 1.9.1
next reply other threads:[~2016-10-24 16:46 UTC|newest] Thread overview: 176+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-10-24 16:46 ahaslam [this message] 2016-10-24 16:46 ` [PATCH/RFT v2 00/17] Add DT support for ohci-da8xx ahaslam at baylibre.com 2016-10-24 16:46 ` [PATCH/RFT v2 01/17] ARM: davinci: da8xx: add usb phy clocks ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` [PATCH/RFT v2 02/17] ARM: davinci: da8xx: Add CFGCHIP syscon platform declaration ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 8:10 ` Sekhar Nori 2016-10-25 8:10 ` Sekhar Nori 2016-10-25 8:10 ` Sekhar Nori 2016-10-25 9:37 ` Axel Haslam 2016-10-25 9:37 ` Axel Haslam 2016-10-25 9:37 ` Axel Haslam 2016-10-25 10:17 ` Sekhar Nori 2016-10-25 10:17 ` Sekhar Nori 2016-10-25 10:17 ` Sekhar Nori 2016-10-25 15:53 ` David Lechner 2016-10-25 15:53 ` David Lechner 2016-10-25 15:53 ` David Lechner 2016-10-26 8:56 ` Sekhar Nori 2016-10-26 8:56 ` Sekhar Nori 2016-10-26 8:56 ` Sekhar Nori 2016-10-24 16:46 ` [PATCH/RFT v2 03/17] ARM: davinci: da8xx: Add USB PHY " ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 9:18 ` Sekhar Nori 2016-10-25 9:18 ` Sekhar Nori 2016-10-25 9:18 ` Sekhar Nori 2016-10-25 9:37 ` Axel Haslam 2016-10-25 9:37 ` Axel Haslam 2016-10-25 9:37 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 04/17] ARM: DTS: da850: Add cfgchip syscon node ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam 2016-10-24 16:46 ` [PATCH/RFT v2 05/17] ARM: DTS: da850: Add usb phy node ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam 2016-10-24 16:46 ` [PATCH/RFT v2 06/17] ARM: davinci: da8xx: Fix some redefined symbol warnings ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 10:03 ` Sekhar Nori 2016-10-25 10:03 ` Sekhar Nori 2016-10-25 10:03 ` Sekhar Nori 2016-10-25 12:14 ` Alexandre Bailon 2016-10-25 12:14 ` Alexandre Bailon 2016-10-25 12:14 ` Alexandre Bailon 2016-10-24 16:46 ` [PATCH/RFT v2 07/17] ARM: davinci: da8xx: Enable the usb20 "per" clk on phy_clk_enable ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam 2016-10-25 2:53 ` David Lechner 2016-10-25 2:53 ` David Lechner 2016-10-25 10:01 ` Axel Haslam 2016-10-25 10:01 ` Axel Haslam 2016-10-25 10:12 ` Sekhar Nori 2016-10-25 10:12 ` Sekhar Nori 2016-10-25 10:12 ` Sekhar Nori 2016-10-25 16:05 ` David Lechner 2016-10-25 16:05 ` David Lechner 2016-10-25 16:05 ` David Lechner 2016-10-26 9:30 ` Sekhar Nori 2016-10-26 9:30 ` Sekhar Nori 2016-10-26 9:30 ` Sekhar Nori 2016-10-24 16:46 ` [PATCH/RFT v2 08/17] ARM: davinci: hawk: add full constraints for ohci plat boot ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-25 10:28 ` Sekhar Nori 2016-10-25 10:28 ` Sekhar Nori 2016-10-25 10:28 ` Sekhar Nori 2016-10-25 10:31 ` Axel Haslam 2016-10-25 10:31 ` Axel Haslam 2016-10-25 10:31 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 09/17] regulator: fixed: Add over current event ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-24 17:43 ` Mark Brown 2016-10-24 17:43 ` Mark Brown 2016-10-24 17:43 ` Mark Brown 2016-10-24 17:53 ` Axel Haslam 2016-10-24 17:53 ` Axel Haslam 2016-10-24 17:53 ` Mark Brown 2016-10-24 17:53 ` Mark Brown 2016-10-24 17:53 ` Mark Brown 2016-10-24 18:11 ` Axel Haslam 2016-10-24 18:11 ` Axel Haslam 2016-10-24 18:11 ` Axel Haslam 2016-10-24 18:19 ` Mark Brown 2016-10-24 18:19 ` Mark Brown 2016-10-25 12:55 ` Axel Haslam 2016-10-25 12:55 ` Axel Haslam 2016-10-25 14:33 ` Mark Brown 2016-10-25 14:33 ` Mark Brown 2016-10-25 14:57 ` Axel Haslam 2016-10-25 14:57 ` Axel Haslam 2016-10-25 15:07 ` Axel Haslam 2016-10-25 15:07 ` Axel Haslam 2016-10-30 20:42 ` Rob Herring 2016-10-30 20:42 ` Rob Herring 2016-10-24 16:46 ` [PATCH/RFT v2 10/17] USB: da8xx: use flag instead of bitmask for over current change ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-24 16:46 ` [PATCH/RFT v2 11/17] USB: OHCI: make ohci-da8xx a separate driver ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 0:38 ` David Lechner 2016-10-25 0:38 ` David Lechner 2016-10-25 0:38 ` David Lechner 2016-10-25 7:39 ` Axel Haslam 2016-10-25 7:39 ` Axel Haslam 2016-10-25 7:39 ` Axel Haslam 2016-10-25 16:12 ` David Lechner 2016-10-25 16:12 ` David Lechner 2016-10-25 16:12 ` David Lechner 2016-10-25 16:21 ` Axel Haslam 2016-10-25 16:21 ` Axel Haslam 2016-10-25 16:21 ` Axel Haslam 2016-10-25 16:24 ` David Lechner 2016-10-25 16:24 ` David Lechner 2016-10-25 16:24 ` David Lechner 2016-10-24 16:46 ` [PATCH/RFT v2 12/17] USB: ochi-da8xx: Use a regulator for vbus/overcurrent ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 1:39 ` David Lechner 2016-10-25 1:39 ` David Lechner 2016-10-25 1:39 ` David Lechner 2016-10-25 8:24 ` Axel Haslam 2016-10-25 8:24 ` Axel Haslam 2016-10-25 8:24 ` Axel Haslam 2016-10-25 16:53 ` David Lechner 2016-10-25 16:53 ` David Lechner 2016-10-25 16:53 ` David Lechner 2016-10-25 17:32 ` Axel Haslam 2016-10-25 17:32 ` Axel Haslam 2016-10-25 10:43 ` Sekhar Nori 2016-10-25 10:43 ` Sekhar Nori 2016-10-25 10:43 ` Sekhar Nori 2016-10-25 10:52 ` Axel Haslam 2016-10-25 10:52 ` Axel Haslam 2016-10-25 10:52 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 13/17] USB: da8xx: use ohci priv data instead of globals ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 1:12 ` David Lechner 2016-10-25 1:12 ` David Lechner 2016-10-25 1:12 ` David Lechner 2016-10-25 9:56 ` Axel Haslam 2016-10-25 9:56 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 14/17] ARM: davinci: register the usb20_phy clock on the DT file ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-24 16:46 ` [PATCH/RFT v2 15/17] usb: host: ohci-da8xx: Add devicetree bindings documentation ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 1:02 ` David Lechner 2016-10-25 1:02 ` David Lechner 2016-10-25 1:02 ` David Lechner 2016-10-25 9:56 ` Axel Haslam 2016-10-25 9:56 ` Axel Haslam 2016-10-25 9:56 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 16/17] USB: ohci-da8xx: Allow probing from DT ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-24 16:46 ` ahaslam-rdvid1DuHRBWk0Htik3J/w 2016-10-25 0:53 ` David Lechner 2016-10-25 0:53 ` David Lechner 2016-10-25 0:53 ` David Lechner 2016-10-25 8:10 ` Axel Haslam 2016-10-25 8:10 ` Axel Haslam 2016-10-24 16:46 ` [PATCH/RFT v2 17/17] ARM: dts: da850: add usb device node ahaslam 2016-10-24 16:46 ` ahaslam at baylibre.com 2016-10-25 0:48 ` David Lechner 2016-10-25 0:48 ` David Lechner 2016-10-25 0:48 ` David Lechner 2016-10-25 8:03 ` Axel Haslam 2016-10-25 8:03 ` Axel Haslam 2016-10-25 8:03 ` Axel Haslam 2016-10-25 10:55 ` [PATCH/RFT v2 00/17] Add DT support for ohci-da8xx Sekhar Nori 2016-10-25 10:55 ` Sekhar Nori 2016-10-25 10:55 ` Sekhar Nori
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20161024164634.4330-1-ahaslam@baylibre.com \ --to=ahaslam@baylibre.com \ --cc=abailon@baylibre.com \ --cc=broonie@kernel.org \ --cc=david@lechnology.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=johan@kernel.org \ --cc=khilman@baylibre.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=manjunath.goudar@linaro.org \ --cc=nsekhar@ti.com \ --cc=robh+dt@kernel.org \ --cc=sshtylyov@ru.mvista.com \ --cc=stern@rowland.harvard.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.