From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [u-boot 24/40] usb: dwc3: dwc3-omap: make dwc3-omap build in uboot
Date: Mon, 16 Feb 2015 12:02:51 +0100 [thread overview]
Message-ID: <20150216120251.53186336@amdc2363> (raw)
In-Reply-To: <1423212497-11970-25-git-send-email-kishon@ti.com>
Hi Kishon,
> *) Changed the included header files to that used in u-boot.
> *) Removed extcon_* APIs
> *) Removed regulator_* APIs
> *) Fixed other misc warnings
> *) Added dwc3-omap.h to include the definitions of UTMI modes.
>
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
> drivers/usb/dwc3/dwc3-omap.c | 144
> +++--------------------------------------
> include/linux/usb/dwc3-omap.h | 19 ++++++ 2 files changed, 27
> insertions(+), 136 deletions(-) create mode 100644
> include/linux/usb/dwc3-omap.h
>
> diff --git a/drivers/usb/dwc3/dwc3-omap.c
> b/drivers/usb/dwc3/dwc3-omap.c index ce2d6a6..b385987 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -14,21 +14,16 @@
> * SPDX-License-Identifier: GPL-2.0
> */
>
> -#include <linux/module.h>
> -#include <linux/kernel.h>
> -#include <linux/slab.h>
> -#include <linux/interrupt.h>
> -#include <linux/platform_device.h>
> -#include <linux/platform_data/dwc3-omap.h>
> -#include <linux/dma-mapping.h>
> +#include <common.h>
> +#include <malloc.h>
> +#include <asm/io.h>
> +#include <linux/usb/dwc3-omap.h>
> #include <linux/ioport.h>
> -#include <linux/io.h>
> -#include <linux/of.h>
> -#include <linux/of_platform.h>
> -#include <linux/extcon.h>
> -#include <linux/regulator/consumer.h>
>
> #include <linux/usb/otg.h>
> +#include <linux/compat.h>
> +
> +#include "linux-compat.h"
>
> /*
> * All these registers belong to OMAP's Wrapper around the
> @@ -113,7 +108,6 @@
> struct dwc3_omap {
> struct device *dev;
>
> - int irq;
> void __iomem *base;
>
> u32 utmi_otg_status;
> @@ -124,13 +118,6 @@ struct dwc3_omap {
> u32 irq0_offset;
>
> u32 dma_status:1;
> -
> - struct extcon_specific_cable_nb extcon_vbus_dev;
> - struct extcon_specific_cable_nb extcon_id_dev;
> - struct notifier_block vbus_nb;
> - struct notifier_block id_nb;
> -
> - struct regulator *vbus_reg;
> };
>
> enum omap_dwc3_vbus_id_status {
> @@ -205,21 +192,12 @@ static void dwc3_omap_write_irq0_set(struct
> dwc3_omap *omap, u32 value) static void dwc3_omap_set_mailbox(struct
> dwc3_omap *omap, enum omap_dwc3_vbus_id_status status)
> {
> - int ret;
> u32 val;
>
> switch (status) {
> case OMAP_DWC3_ID_GROUND:
> dev_dbg(omap->dev, "ID GND\n");
>
> - if (omap->vbus_reg) {
> - ret = regulator_enable(omap->vbus_reg);
> - if (ret) {
> - dev_dbg(omap->dev, "regulator enable
> failed\n");
> - return;
> - }
> - }
> -
> val = dwc3_omap_read_utmi_status(omap);
> val &= ~(USBOTGSS_UTMI_OTG_STATUS_IDDIG
> | USBOTGSS_UTMI_OTG_STATUS_VBUSVALID
> @@ -242,9 +220,6 @@ static void dwc3_omap_set_mailbox(struct
> dwc3_omap *omap, break;
>
> case OMAP_DWC3_ID_FLOAT:
> - if (omap->vbus_reg)
> - regulator_disable(omap->vbus_reg);
> -
> case OMAP_DWC3_VBUS_OFF:
> dev_dbg(omap->dev, "VBUS Disconnect\n");
>
> @@ -349,32 +324,6 @@ static void dwc3_omap_disable_irqs(struct
> dwc3_omap *omap)
> static u64 dwc3_omap_dma_mask = DMA_BIT_MASK(32);
>
> -static int dwc3_omap_id_notifier(struct notifier_block *nb,
> - unsigned long event, void *ptr)
> -{
> - struct dwc3_omap *omap = container_of(nb, struct dwc3_omap,
> id_nb); -
> - if (event)
> - dwc3_omap_set_mailbox(omap, OMAP_DWC3_ID_GROUND);
> - else
> - dwc3_omap_set_mailbox(omap, OMAP_DWC3_ID_FLOAT);
> -
> - return NOTIFY_DONE;
> -}
> -
> -static int dwc3_omap_vbus_notifier(struct notifier_block *nb,
> - unsigned long event, void *ptr)
> -{
> - struct dwc3_omap *omap = container_of(nb, struct dwc3_omap,
> vbus_nb); -
> - if (event)
> - dwc3_omap_set_mailbox(omap, OMAP_DWC3_VBUS_VALID);
> - else
> - dwc3_omap_set_mailbox(omap, OMAP_DWC3_VBUS_OFF);
> -
> - return NOTIFY_DONE;
> -}
> -
> static void dwc3_omap_map_offset(struct dwc3_omap *omap)
> {
> struct device_node *node = omap->dev->of_node;
> @@ -420,42 +369,6 @@ static void dwc3_omap_set_utmi_mode(struct
> dwc3_omap *omap) dwc3_omap_write_utmi_status(omap, reg);
> }
>
> -static int dwc3_omap_extcon_register(struct dwc3_omap *omap)
> -{
> - int ret;
> - struct device_node *node = omap->dev->of_node;
> - struct extcon_dev *edev;
> -
> - if (of_property_read_bool(node, "extcon")) {
> - edev = extcon_get_edev_by_phandle(omap->dev, 0);
> - if (IS_ERR(edev)) {
> - dev_vdbg(omap->dev, "couldn't get extcon
> device\n");
> - return -EPROBE_DEFER;
> - }
> -
> - omap->vbus_nb.notifier_call =
> dwc3_omap_vbus_notifier;
> - ret =
> extcon_register_interest(&omap->extcon_vbus_dev,
> - edev->name, "USB",
> - &omap->vbus_nb);
> - if (ret < 0)
> - dev_vdbg(omap->dev, "failed to register
> notifier for USB\n"); -
> - omap->id_nb.notifier_call = dwc3_omap_id_notifier;
> - ret = extcon_register_interest(&omap->extcon_id_dev,
> - edev->name,
> "USB-HOST",
> - &omap->id_nb);
> - if (ret < 0)
> - dev_vdbg(omap->dev, "failed to register
> notifier for USB-HOST\n"); -
> - if (extcon_get_cable_state(edev, "USB") == true)
> - dwc3_omap_set_mailbox(omap,
> OMAP_DWC3_VBUS_VALID);
> - if (extcon_get_cable_state(edev, "USB-HOST") == true)
> - dwc3_omap_set_mailbox(omap,
> OMAP_DWC3_ID_GROUND);
> - }
> -
> - return 0;
> -}
> -
> static int dwc3_omap_probe(struct platform_device *pdev)
> {
> struct device_node *node = pdev->dev.of_node;
> @@ -463,11 +376,8 @@ static int dwc3_omap_probe(struct
> platform_device *pdev) struct dwc3_omap *omap;
> struct resource *res;
> struct device *dev = &pdev->dev;
> - struct regulator *vbus_reg = NULL;
>
> int ret;
> - int irq;
> -
> u32 reg;
>
> void __iomem *base;
> @@ -483,29 +393,13 @@ static int dwc3_omap_probe(struct
> platform_device *pdev)
> platform_set_drvdata(pdev, omap);
>
> - irq = platform_get_irq(pdev, 0);
> - if (irq < 0) {
> - dev_err(dev, "missing IRQ resource\n");
> - return -EINVAL;
> - }
> -
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> base = devm_ioremap_resource(dev, res);
> if (IS_ERR(base))
> return PTR_ERR(base);
>
> - if (of_property_read_bool(node, "vbus-supply")) {
> - vbus_reg = devm_regulator_get(dev, "vbus");
> - if (IS_ERR(vbus_reg)) {
> - dev_err(dev, "vbus init failed\n");
> - return PTR_ERR(vbus_reg);
> - }
> - }
> -
> omap->dev = dev;
> - omap->irq = irq;
> omap->base = base;
> - omap->vbus_reg = vbus_reg;
> dev->dma_mask = &dwc3_omap_dma_mask;
>
> dwc3_omap_map_offset(omap);
> @@ -515,34 +409,16 @@ static int dwc3_omap_probe(struct
> platform_device *pdev) reg = dwc3_omap_readl(omap->base,
> USBOTGSS_SYSCONFIG); omap->dma_status = !!(reg &
> USBOTGSS_SYSCONFIG_DMADISABLE);
> - ret = devm_request_irq(dev, omap->irq, dwc3_omap_interrupt,
> 0,
> - "dwc3-omap", omap);
> - if (ret) {
> - dev_err(dev, "failed to request IRQ #%d --> %d\n",
> - omap->irq, ret);
> - goto err0;
> - }
> -
> dwc3_omap_enable_irqs(omap);
>
> - ret = dwc3_omap_extcon_register(omap);
> - if (ret < 0)
> - goto err1;
> -
> ret = of_platform_populate(node, NULL, NULL, dev);
> if (ret) {
> dev_err(&pdev->dev, "failed to create dwc3 core\n");
> - goto err2;
> + goto err1;
> }
>
> return 0;
>
> -err2:
> - if (omap->extcon_vbus_dev.edev)
> - extcon_unregister_interest(&omap->extcon_vbus_dev);
> - if (omap->extcon_id_dev.edev)
> - extcon_unregister_interest(&omap->extcon_id_dev);
> -
> err1:
> dwc3_omap_disable_irqs(omap);
>
> @@ -554,10 +430,6 @@ static int dwc3_omap_remove(struct
> platform_device *pdev) {
> struct dwc3_omap *omap = platform_get_drvdata(pdev);
>
> - if (omap->extcon_vbus_dev.edev)
> - extcon_unregister_interest(&omap->extcon_vbus_dev);
> - if (omap->extcon_id_dev.edev)
> - extcon_unregister_interest(&omap->extcon_id_dev);
> dwc3_omap_disable_irqs(omap);
> device_for_each_child(&pdev->dev, NULL,
> dwc3_omap_remove_core);
> diff --git a/include/linux/usb/dwc3-omap.h
> b/include/linux/usb/dwc3-omap.h new file mode 100644
> index 0000000..8bf7b55
> --- /dev/null
> +++ b/include/linux/usb/dwc3-omap.h
> @@ -0,0 +1,19 @@
> +/* include/linux/usb/dwc3-omap.h
> + *
> + * Copyright (c) 2014 Texas Instruments Incorporated -
> http://www.ti.com
> + *
> + * Designware SuperSpeed Glue
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +
> +#ifndef __DWC3_OMAP_H_
> +#define __DWC3_OMAP_H_
> +
> +enum dwc3_omap_utmi_mode {
> + DWC3_OMAP_UTMI_MODE_UNKNOWN = 0,
> + DWC3_OMAP_UTMI_MODE_HW,
> + DWC3_OMAP_UTMI_MODE_SW,
> +};
> +
> +#endif /* __DWC3_OMAP_H_ */
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
next prev parent reply other threads:[~2015-02-16 11:02 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-06 8:47 [U-Boot] [u-boot 00/40] dra7xx: am43xx: add dwc3 gadget driver support and enable dfu Kishon Vijay Abraham I
2015-02-06 8:47 ` [U-Boot] [u-boot 01/40] ARM: DRA7: Enable clocks for USB OTGSS and USB PHY Kishon Vijay Abraham I
2015-02-16 10:04 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 02/40] ARM: AM43xx: " Kishon Vijay Abraham I
2015-02-16 10:07 ` Lukasz Majewski
2015-02-16 13:29 ` Marek Vasut
2015-02-20 9:30 ` Kishon Vijay Abraham I
2015-02-20 10:48 ` Marek Vasut
2015-02-06 8:47 ` [U-Boot] [u-boot 03/40] usb: gadget: udc: add udc-core from linux kernel to u-boot Kishon Vijay Abraham I
2015-02-07 13:27 ` Marek Vasut
2015-02-16 9:58 ` Lukasz Majewski
2015-02-16 13:29 ` Marek Vasut
2015-02-16 10:11 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 04/40] include: usb: modify gadget.h to include udc support Kishon Vijay Abraham I
2015-02-16 10:12 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 05/40] usb: gadget: udc: make udc-core compile in u-boot build Kishon Vijay Abraham I
2015-02-16 10:18 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 06/40] include: asm: dma-mapping: get rid of the compilation warning in udc-core Kishon Vijay Abraham I
2015-02-16 10:19 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 07/40] usb: dwc3: add dwc3 folder from linux kernel to u-boot Kishon Vijay Abraham I
2015-02-16 10:20 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 08/40] usb: dwc3: remove un-used files from dwc3 folder Kishon Vijay Abraham I
2015-02-16 10:21 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 09/40] usb: dwc3: Modify the file headers to u-boot format Kishon Vijay Abraham I
2015-02-16 10:21 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 10/40] usb: dwc3: remove trace_* APIs from dwc3 driver Kishon Vijay Abraham I
2015-02-16 10:24 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 11/40] usb: dwc3: fix dwc3 header files Kishon Vijay Abraham I
2015-02-16 10:25 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 12/40] usb: dwc3: remove pm related operations from dwc3 driver Kishon Vijay Abraham I
2015-02-16 10:26 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 13/40] arm: asm: dma-mapping: added dma_free_coherent API Kishon Vijay Abraham I
2015-02-16 10:26 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 14/40] usb: dwc3: linux-compat: Add header for dwc3 linux compatibiltiy Kishon Vijay Abraham I
2015-02-16 10:32 ` Lukasz Majewski
2015-02-23 6:19 ` Kishon Vijay Abraham I
2015-02-23 14:59 ` Marek Vasut
2015-02-24 13:21 ` Kishon Vijay Abraham I
2015-02-24 17:42 ` Marek Vasut
2015-02-25 8:17 ` Lukasz Majewski
2015-02-25 12:16 ` Marek Vasut
2015-02-25 13:04 ` Lukasz Majewski
2015-02-27 9:43 ` Marek Vasut
2015-02-27 11:28 ` Lukasz Majewski
2015-03-02 9:51 ` Marek Vasut
2015-03-02 12:56 ` Lukasz Majewski
2015-03-02 14:30 ` Marek Vasut
2015-02-06 8:47 ` [U-Boot] [u-boot 15/40] usb: dwc3: gadget: make dwc3 gadget build in uboot Kishon Vijay Abraham I
2015-02-16 10:52 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 16/40] include: asm: types: add resource_size_t type Kishon Vijay Abraham I
2015-02-16 10:53 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 17/40] usb: dwc3: ep0: make dwc3 ep0 build in uboot Kishon Vijay Abraham I
2015-02-16 10:54 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 18/40] include: usb: composite: add USB_GADGET_DELAYED_STATUS to avoid compilation error Kishon Vijay Abraham I
2015-02-16 10:55 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 19/40] usb: dwc3: core: make dwc3 core build in uboot Kishon Vijay Abraham I
2015-02-16 10:57 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 20/40] include: dwc3-uboot: add a structure for populating platform data Kishon Vijay Abraham I
2015-02-16 10:58 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 21/40] dwc3: core: change probe and remove to uboot init and uboot exit code Kishon Vijay Abraham I
2015-02-16 10:59 ` Lukasz Majewski
2015-02-06 8:47 ` [U-Boot] [u-boot 22/40] dwc3: core: add support for multiple dwc3 controllers Kishon Vijay Abraham I
2015-02-16 11:00 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 23/40] dwc3: core: added an API to invoke irq handlers Kishon Vijay Abraham I
2015-02-16 11:01 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 24/40] usb: dwc3: dwc3-omap: make dwc3-omap build in uboot Kishon Vijay Abraham I
2015-02-16 11:02 ` Lukasz Majewski [this message]
2015-02-06 8:48 ` [U-Boot] [u-boot 25/40] include: dwc3-omap-uboot: add a structure for populating dwc3-omap platform data Kishon Vijay Abraham I
2015-02-16 11:03 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 26/40] usb: dwc3: dwc3-omap: change probe and remove to uboot init and uboot exit code Kishon Vijay Abraham I
2015-02-16 11:04 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 27/40] dwc3: dwc3-omap: add support for multiple dwc3-omap controllers Kishon Vijay Abraham I
2015-02-16 11:06 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 28/40] usb: dwc3: dwc3-omap: add interrupt status API to check for interrupts Kishon Vijay Abraham I
2015-02-16 11:07 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 29/40] usb: dwc3: TI PHY: PHY driver for dwc3 in TI platforms Kishon Vijay Abraham I
2015-02-16 11:13 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 30/40] dwc3: flush the buffers before using it Kishon Vijay Abraham I
2015-02-16 11:39 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 31/40] usb: dwc3: ep0: preparation for implementing chained TRB Kishon Vijay Abraham I
2015-02-16 11:40 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 32/40] usb: dwc3: Add chained TRB support for ep0 Kishon Vijay Abraham I
2015-02-16 11:42 ` Lukasz Majewski
2015-02-16 12:01 ` Kishon Vijay Abraham I
2015-02-16 13:04 ` Lukasz Majewski
2015-02-16 13:06 ` Kishon Vijay Abraham I
2015-02-06 8:48 ` [U-Boot] [u-boot 33/40] usb: dwc3: Makefile: Make dwc3 driver compile in u-boot Kishon Vijay Abraham I
2015-02-16 11:43 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 34/40] usb: gadget: defer setting maxpacket till ->setup() Kishon Vijay Abraham I
2015-02-16 11:44 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 35/40] common: cmd_dfu: invoke board_usb_cleanup() for cleaning up Kishon Vijay Abraham I
2015-02-16 11:47 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 36/40] board: ti: DRA7: added USB initializtion code Kishon Vijay Abraham I
2015-02-16 11:49 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 37/40] include: configs: Enable DWC3 and DFU in DRA7xx Kishon Vijay Abraham I
2015-02-16 11:50 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 38/40] board: ti: AM43xx: added USB initializtion code Kishon Vijay Abraham I
2015-02-16 11:50 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 39/40] include: configs: Enable DWC3 and DFU in AM43xx Kishon Vijay Abraham I
2015-02-16 11:53 ` Lukasz Majewski
2015-02-06 8:48 ` [U-Boot] [u-boot 40/40] usb: modify usb_gadget_handle_interrupts to take controller index Kishon Vijay Abraham I
2015-02-16 11:56 ` Lukasz Majewski
2015-02-07 13:32 ` [U-Boot] [u-boot 00/40] dra7xx: am43xx: add dwc3 gadget driver support and enable dfu Marek Vasut
2015-02-11 11:33 ` Kishon Vijay Abraham I
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=20150216120251.53186336@amdc2363 \
--to=l.majewski@samsung.com \
--cc=u-boot@lists.denx.de \
/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: link
Be 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.