From: Axel Haslam <ahaslam@baylibre.com> To: stern@rowland.harvard.edu, gregkh@linuxfoundation.org, nsekhar@ti.com, khilman@kernel.org, david@lechnology.com, robh+dt@kernel.org Cc: devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Axel Haslam <ahaslam@baylibre.com> Subject: [PATCH v3 05/10] ARM: davinci: hawk: Remove vbus and over current gpios Date: Mon, 7 Nov 2016 21:39:43 +0100 [thread overview] Message-ID: <20161107203948.28324-6-ahaslam@baylibre.com> (raw) In-Reply-To: <20161107203948.28324-1-ahaslam@baylibre.com> The hawk board VBUS is fixed to a 5v source, and the over current pin is actually not connected to the SoC. Do not reseve these gpios for OHCI as they are not related to usb. Signed-off-by: Axel Haslam <ahaslam@baylibre.com> --- arch/arm/mach-davinci/board-omapl138-hawk.c | 99 ++--------------------------- 1 file changed, 4 insertions(+), 95 deletions(-) diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index a4e8726..a252404 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c @@ -28,9 +28,6 @@ #define DA850_HAWK_MMCSD_CD_PIN GPIO_TO_PIN(3, 12) #define DA850_HAWK_MMCSD_WP_PIN GPIO_TO_PIN(3, 13) -#define DA850_USB1_VBUS_PIN GPIO_TO_PIN(2, 4) -#define DA850_USB1_OC_PIN GPIO_TO_PIN(6, 13) - static short omapl138_hawk_mii_pins[] __initdata = { DA850_MII_TXEN, DA850_MII_TXCLK, DA850_MII_COL, DA850_MII_TXD_3, DA850_MII_TXD_2, DA850_MII_TXD_1, DA850_MII_TXD_0, DA850_MII_RXER, @@ -181,76 +178,10 @@ static __init void omapl138_hawk_mmc_init(void) gpio_free(DA850_HAWK_MMCSD_CD_PIN); } -static irqreturn_t omapl138_hawk_usb_ocic_irq(int irq, void *dev_id); -static da8xx_ocic_handler_t hawk_usb_ocic_handler; - -static const short da850_hawk_usb11_pins[] = { - DA850_GPIO2_4, DA850_GPIO6_13, - -1 -}; - -static int hawk_usb_set_power(unsigned port, int on) -{ - gpio_set_value(DA850_USB1_VBUS_PIN, on); - return 0; -} - -static int hawk_usb_get_power(unsigned port) -{ - return gpio_get_value(DA850_USB1_VBUS_PIN); -} - -static int hawk_usb_get_oci(unsigned port) -{ - return !gpio_get_value(DA850_USB1_OC_PIN); -} - -static int hawk_usb_ocic_notify(da8xx_ocic_handler_t handler) -{ - int irq = gpio_to_irq(DA850_USB1_OC_PIN); - int error = 0; - - if (handler != NULL) { - hawk_usb_ocic_handler = handler; - - error = request_irq(irq, omapl138_hawk_usb_ocic_irq, - IRQF_TRIGGER_RISING | - IRQF_TRIGGER_FALLING, - "OHCI over-current indicator", NULL); - if (error) - pr_err("%s: could not request IRQ to watch " - "over-current indicator changes\n", __func__); - } else { - free_irq(irq, NULL); - } - return error; -} - -static struct da8xx_ohci_root_hub omapl138_hawk_usb11_pdata = { - .set_power = hawk_usb_set_power, - .get_power = hawk_usb_get_power, - .get_oci = hawk_usb_get_oci, - .ocic_notify = hawk_usb_ocic_notify, - /* TPS2087 switch @ 5V */ - .potpgt = (3 + 1) / 2, /* 3 ms max */ -}; - -static irqreturn_t omapl138_hawk_usb_ocic_irq(int irq, void *dev_id) -{ - hawk_usb_ocic_handler(&omapl138_hawk_usb11_pdata, 1); - return IRQ_HANDLED; -} - static __init void omapl138_hawk_usb_init(void) { int ret; - ret = davinci_cfg_reg_list(da850_hawk_usb11_pins); - if (ret) { - pr_warn("%s: USB 1.1 PinMux setup failed: %d\n", __func__, ret); - return; - } - ret = da8xx_register_usb20_phy_clk(false); if (ret) pr_warn("%s: USB 2.0 PHY CLK registration failed: %d\n", @@ -266,34 +197,12 @@ static __init void omapl138_hawk_usb_init(void) pr_warn("%s: USB PHY registration failed: %d\n", __func__, ret); - ret = gpio_request_one(DA850_USB1_VBUS_PIN, - GPIOF_DIR_OUT, "USB1 VBUS"); - if (ret < 0) { - pr_err("%s: failed to request GPIO for USB 1.1 port " - "power control: %d\n", __func__, ret); - return; - } - - ret = gpio_request_one(DA850_USB1_OC_PIN, - GPIOF_DIR_IN, "USB1 OC"); - if (ret < 0) { - pr_err("%s: failed to request GPIO for USB 1.1 port " - "over-current indicator: %d\n", __func__, ret); - goto usb11_setup_oc_fail; - } - - ret = da8xx_register_usb11(&omapl138_hawk_usb11_pdata); - if (ret) { - pr_warn("%s: USB 1.1 registration failed: %d\n", __func__, ret); - goto usb11_setup_fail; - } + ret = da8xx_register_usb11(NULL); + if (ret) + pr_warn("%s: USB 1.1 registration failed: %d\n", + __func__, ret); return; - -usb11_setup_fail: - gpio_free(DA850_USB1_OC_PIN); -usb11_setup_oc_fail: - gpio_free(DA850_USB1_VBUS_PIN); } static __init void omapl138_hawk_init(void) -- 2.10.1
WARNING: multiple messages have this Message-ID (diff)
From: ahaslam@baylibre.com (Axel Haslam) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 05/10] ARM: davinci: hawk: Remove vbus and over current gpios Date: Mon, 7 Nov 2016 21:39:43 +0100 [thread overview] Message-ID: <20161107203948.28324-6-ahaslam@baylibre.com> (raw) In-Reply-To: <20161107203948.28324-1-ahaslam@baylibre.com> The hawk board VBUS is fixed to a 5v source, and the over current pin is actually not connected to the SoC. Do not reseve these gpios for OHCI as they are not related to usb. Signed-off-by: Axel Haslam <ahaslam@baylibre.com> --- arch/arm/mach-davinci/board-omapl138-hawk.c | 99 ++--------------------------- 1 file changed, 4 insertions(+), 95 deletions(-) diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index a4e8726..a252404 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c @@ -28,9 +28,6 @@ #define DA850_HAWK_MMCSD_CD_PIN GPIO_TO_PIN(3, 12) #define DA850_HAWK_MMCSD_WP_PIN GPIO_TO_PIN(3, 13) -#define DA850_USB1_VBUS_PIN GPIO_TO_PIN(2, 4) -#define DA850_USB1_OC_PIN GPIO_TO_PIN(6, 13) - static short omapl138_hawk_mii_pins[] __initdata = { DA850_MII_TXEN, DA850_MII_TXCLK, DA850_MII_COL, DA850_MII_TXD_3, DA850_MII_TXD_2, DA850_MII_TXD_1, DA850_MII_TXD_0, DA850_MII_RXER, @@ -181,76 +178,10 @@ static __init void omapl138_hawk_mmc_init(void) gpio_free(DA850_HAWK_MMCSD_CD_PIN); } -static irqreturn_t omapl138_hawk_usb_ocic_irq(int irq, void *dev_id); -static da8xx_ocic_handler_t hawk_usb_ocic_handler; - -static const short da850_hawk_usb11_pins[] = { - DA850_GPIO2_4, DA850_GPIO6_13, - -1 -}; - -static int hawk_usb_set_power(unsigned port, int on) -{ - gpio_set_value(DA850_USB1_VBUS_PIN, on); - return 0; -} - -static int hawk_usb_get_power(unsigned port) -{ - return gpio_get_value(DA850_USB1_VBUS_PIN); -} - -static int hawk_usb_get_oci(unsigned port) -{ - return !gpio_get_value(DA850_USB1_OC_PIN); -} - -static int hawk_usb_ocic_notify(da8xx_ocic_handler_t handler) -{ - int irq = gpio_to_irq(DA850_USB1_OC_PIN); - int error = 0; - - if (handler != NULL) { - hawk_usb_ocic_handler = handler; - - error = request_irq(irq, omapl138_hawk_usb_ocic_irq, - IRQF_TRIGGER_RISING | - IRQF_TRIGGER_FALLING, - "OHCI over-current indicator", NULL); - if (error) - pr_err("%s: could not request IRQ to watch " - "over-current indicator changes\n", __func__); - } else { - free_irq(irq, NULL); - } - return error; -} - -static struct da8xx_ohci_root_hub omapl138_hawk_usb11_pdata = { - .set_power = hawk_usb_set_power, - .get_power = hawk_usb_get_power, - .get_oci = hawk_usb_get_oci, - .ocic_notify = hawk_usb_ocic_notify, - /* TPS2087 switch @ 5V */ - .potpgt = (3 + 1) / 2, /* 3 ms max */ -}; - -static irqreturn_t omapl138_hawk_usb_ocic_irq(int irq, void *dev_id) -{ - hawk_usb_ocic_handler(&omapl138_hawk_usb11_pdata, 1); - return IRQ_HANDLED; -} - static __init void omapl138_hawk_usb_init(void) { int ret; - ret = davinci_cfg_reg_list(da850_hawk_usb11_pins); - if (ret) { - pr_warn("%s: USB 1.1 PinMux setup failed: %d\n", __func__, ret); - return; - } - ret = da8xx_register_usb20_phy_clk(false); if (ret) pr_warn("%s: USB 2.0 PHY CLK registration failed: %d\n", @@ -266,34 +197,12 @@ static __init void omapl138_hawk_usb_init(void) pr_warn("%s: USB PHY registration failed: %d\n", __func__, ret); - ret = gpio_request_one(DA850_USB1_VBUS_PIN, - GPIOF_DIR_OUT, "USB1 VBUS"); - if (ret < 0) { - pr_err("%s: failed to request GPIO for USB 1.1 port " - "power control: %d\n", __func__, ret); - return; - } - - ret = gpio_request_one(DA850_USB1_OC_PIN, - GPIOF_DIR_IN, "USB1 OC"); - if (ret < 0) { - pr_err("%s: failed to request GPIO for USB 1.1 port " - "over-current indicator: %d\n", __func__, ret); - goto usb11_setup_oc_fail; - } - - ret = da8xx_register_usb11(&omapl138_hawk_usb11_pdata); - if (ret) { - pr_warn("%s: USB 1.1 registration failed: %d\n", __func__, ret); - goto usb11_setup_fail; - } + ret = da8xx_register_usb11(NULL); + if (ret) + pr_warn("%s: USB 1.1 registration failed: %d\n", + __func__, ret); return; - -usb11_setup_fail: - gpio_free(DA850_USB1_OC_PIN); -usb11_setup_oc_fail: - gpio_free(DA850_USB1_VBUS_PIN); } static __init void omapl138_hawk_init(void) -- 2.10.1
next prev parent reply other threads:[~2016-11-07 20:41 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-11-07 20:39 [PATCH v3 00/10] Add DT support for ohci-da8xx Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 01/10] USB: ohci: da8xx: use ohci priv data instead of globals Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 02/10] USB: ohci: da8xx: Prepare to remove platform callbacks Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 03/10] USB: ohci: da8xx: Allow a regulator to handle VBUS Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 04/10] ARM: davinci: da830: Handle vbus with a regulator Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam [this message] 2016-11-07 20:39 ` [PATCH v3 05/10] ARM: davinci: hawk: Remove vbus and over current gpios Axel Haslam 2016-11-07 20:39 ` [PATCH v3 06/10] USB: ohci: da8xx: Remove ohci platform callbacks Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 07/10] USB: ohci: da8xx: use a flag instead of mask for ocic Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 08/10] USB: ohci: da8xx: Add devicetree bindings Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 09/10] USB: ohci: da8xx: Allow probing from DT Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-07 20:39 ` [PATCH v3 10/10] ARM: dts: da850: add usb device node Axel Haslam 2016-11-07 20:39 ` Axel Haslam 2016-11-21 2:42 ` David Lechner 2016-11-21 2:42 ` David Lechner 2016-11-21 2:42 ` David Lechner 2016-11-21 10:27 ` Axel Haslam 2016-11-21 10:27 ` Axel Haslam 2016-11-21 10:46 ` Sekhar Nori 2016-11-21 10:46 ` Sekhar Nori 2016-11-21 10:46 ` Sekhar Nori 2016-11-21 10:49 ` Sekhar Nori 2016-11-21 10:49 ` Sekhar Nori 2016-11-21 10:49 ` Sekhar Nori 2016-11-21 10:53 ` Axel Haslam 2016-11-21 10:53 ` Axel Haslam 2016-11-21 10:53 ` Axel Haslam 2016-11-08 16:37 ` [PATCH v3 00/10] Add DT support for ohci-da8xx Axel Haslam 2016-11-08 16:37 ` Axel Haslam 2016-11-10 12:02 ` Greg KH 2016-11-10 12:02 ` Greg KH 2016-11-10 17:28 ` Axel Haslam 2016-11-10 17:28 ` Axel Haslam 2016-11-10 17:28 ` Axel Haslam
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=20161107203948.28324-6-ahaslam@baylibre.com \ --to=ahaslam@baylibre.com \ --cc=david@lechnology.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=khilman@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=nsekhar@ti.com \ --cc=robh+dt@kernel.org \ --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.