Skip to contentSkip to conversation

usb: dwc3: OCTEON: add support for device tree

PATCH Superseded Steven J. Hill 2 participants 2 messages Sep 9, 2016

Subsystems (3)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 usb: dwc3: OCTEON: add support for device tree

This patch adds support to parse the data for
the dwc3-octeon driver using device tree. The
DWC3 IP core is found on OCTEON III processors.

Changes in v2:
- Changed comment block to acurately describe why the DMA properties are being set.
- Deleted 'dwc3_octeon_remove()' function as it serves no purpose. Also changed driver from tristate to a boolen as we have no plans to make it modular.
- Changed driver dependency from CAVIUM_OCTEON_SOC to CPU_CAVIUM_OCTEON || COMPILE_TEST per Balbi's request.

---
 drivers/usb/dwc3/Kconfig       | 10 +++++
 drivers/usb/dwc3/Makefile      |  1 +
 drivers/usb/dwc3/dwc3-octeon.c | 85 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 96 insertions(+)
 create mode 100644 drivers/usb/dwc3/dwc3-octeon.c
drivers/usb/dwc3/Kconfig +10 -0
index a64ce1c..f2cb24b 100644
@@ -105,4 +105,14 @@ config USB_DWC3_ST
 	  inside (i.e. STiH407).
 	  Say 'Y' or 'M' if you have one such device.
 
+config USB_DWC3_OCTEON
+	bool "Cavium OCTEON III Platforms"
+	depends on CPU_CAVIUM_OCTEON || COMPILE_TEST
+	depends on OF
+	default USB_DWC3
+	help
+	  Cavium OCTEON III SoCs with one DesignWare Core USB3 IP
+	  inside (i.e. cn71xx and cn78xx).
+	  Say 'Y' or 'M' if you have one such device.
+
 endif
drivers/usb/dwc3/Makefile +1 -0
index 22420e1..f1a7a3e 100644
@@ -39,3 +39,4 @@ obj-$(CONFIG_USB_DWC3_PCI)		+= dwc3-pci.o
 obj-$(CONFIG_USB_DWC3_KEYSTONE)		+= dwc3-keystone.o
 obj-$(CONFIG_USB_DWC3_OF_SIMPLE)	+= dwc3-of-simple.o
 obj-$(CONFIG_USB_DWC3_ST)		+= dwc3-st.o
+obj-$(CONFIG_USB_DWC3_OCTEON)		+= dwc3-octeon.o
drivers/usb/dwc3/dwc3-octeon.c new file +85 -0

85 lines not on this page · raw message

Signature · 1 line
1.9.1
#1 lore raw
reproduce:

Hi Steven,

[auto build test WARNING on balbi-usb/next]
[also build test WARNING on v4.8-rc5 next-20160909]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Steven-J-Hill/usb-dwc3-OCTEON-add-support-for-device-tree/20160910-003135
base:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

drivers/usb/dwc3/dwc3-octeon.c: In function 'dwc3_octeon_probe':

>> drivers/usb/dwc3/dwc3-octeon.c:61:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     octeon->index = ((u64)octeon->usbctl >> 24) & 1;
                      ^

vim +61 drivers/usb/dwc3/dwc3-octeon.c

    45		 * "dma-ranges" or "dma-coherent" properties.
    46		 */
    47		ret = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(64));
    48		if (ret)
    49			return ret;
    50	
    51		platform_set_drvdata(pdev, octeon);
    52		octeon->dev = dev;
    53	
    54		/* Resources for lower level OCTEON USB control. */
    55		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
    56		octeon->usbctl = devm_ioremap_resource(dev, res);
    57		if (IS_ERR(octeon->usbctl))
    58			return PTR_ERR(octeon->usbctl);
    59	
    60		/* Controller index. */
  > 61		octeon->index = ((u64)octeon->usbctl >> 24) & 1;
    62	
    63		return 0;
    64	}
    65	
    66	static const struct of_device_id octeon_dwc3_match[] = {
    67		{ .compatible = "cavium,octeon-7130-usb-uctl", },
    68		{},
    69	};

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation