All of lore.kernel.org
 help / color / mirror / Atom feed
From: sergei.shtylyov@cogentembedded.com (Sergei Shtylyov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/62] ARM: davinci: export da8xx_syscfg0_base
Date: Thu, 20 Mar 2014 20:20:47 +0400	[thread overview]
Message-ID: <532B155F.9020605@cogentembedded.com> (raw)
In-Reply-To: <9096065.aGCg8yZblW@wuerfel>

Hello.

On 20-03-2014 10:42, Arnd Bergmann wrote:

>>> Both the OHCI and MUSB drivers use exactly one register (CFGCHIP2)

>>      The idea at the time was to just ioremap() this register but I was not
>> very eager.

    ... also it was suggested to pass the CFGCHIP2 address as a resource. I 
certainly wasn't eager to do that since if done for both MUSB and OHCI, it 
would cause sort of a resource conflict (platform device resources are 
automatically registered in the resource tree, although without marking them 
exclusive), even if we don't call request_mem_region() on them (we can't do 
that since in this case the resource would be registered as exclusive, and the 
second call would fail).

> Yes, that would work, too. However, that would cause problems later
> if we ever try to make the davinci platform "multiplatform", unless we also
> pass the physical address in a platform resource and make this a larger
> driver.

    In my opinion, we don't have to pass CFGCHIP2 as a resource and could just 
ioremap() the raw physical address.

> I think we can reasonably have an exported set of functions
> declared in the platform data header file for these drivers, but passing
> the physical address through a header file

    That's how it's passed today (however, thru <mach/da8xx.h>).

> wouldn't be much of an improvement
> over passing the virtual address.

    Not sure I understood about passing virtual address.

>> There was no USB PHY driver subsystem yet.

>>> to control the clock, phy

>>      Note that it only controls PHY clock (PLL) which could be covered by an
>> USB PHY driver.

> Good point.

>>> and host/gadget mode switch.

>>      The main mode the USB 2.0 PHY should function now is OTG. The host/gadged
>> modes are forced overrides of the ID pin. Unfortunately, the board code has to
>> force host mode when host-only driver config is selected (these MUSB's
>> host/gadget only modes were removed at one point but got reintroduced again).

> I think they are also required for 'randconfig' builds to some degree, because
> you can build a kernel without host mode for instance.

    Yes.

>>> In the modern world, we'd probably want to have a clock driver and

>>      Not sure about the clock driver...

>>> a phy driver for these,

>>      Yes, that's what the MUSB maintainer wants too. The issue is the driver
>> should somehow differ which USB controller it's bound too and do different
>> things depending on that (at least that's how it looks now). I'm not sure it's
>> possible, so probably should be rethought.

> Yes, a phy driver seems the right approach if we can find someone to do it.

    Perhaps a person that tried to unbreak the DA8xx MUSB driver could be 
interested (and competent) enough to do it...

> Ideally that should let us use generic versions of the ohci and musb drivers
> even, if that's the only davinci specific part of these drivers.

    No, not really. MUSB ceratinly has DaVinci specific register set mapped in 
its register space. OHCI has up to 2 clocks to enable since USB 1.1 PHY can be 
clocked from USB 2.0 PHY clock.

>>> based on a syscon driver.

>>      I don't know what syscon is...

> The syscon (system controller) framework helps share a set of registers
> across multiple drivers. If all accesses to the CFGCHIP2 register are
> in a single PHY driver, we wouldn't need it.

    Where can I find it in the kernel tree?

>>> In all honesty I don't see that happening on davinci.

>>      I don't think people use USB 1.1 controllers these days, especially when
>> there is USB 2.0 in the same SoC. For MUSB, there were recent attempt to get
>> the DA8xx driver out of the broken state but it was turned down as well, IIRC,
>> since it didn't offer a PHY driver.

> For USB 2.0 compliance you actually need to provide something to handle the
> low speed modes. A lot of people use a hub to do that nowadays rather than
> an OHCI or UHCI, but I don't know if that works with OTG.

    MUSB handles all speeds. I think the reason TI also included USB 1.1 
controller lies in the somewhat dubious reputation of both MUSB hardware and 
the Linux driver.

> 	Arnd

WBR, Sergei

  parent reply	other threads:[~2014-03-20 16:20 UTC|newest]

Thread overview: 205+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 19:28 [PATCH 00/62] arm-soc randconfig fixes Arnd Bergmann
2014-03-19 19:28 ` Arnd Bergmann
2014-03-19 19:28 ` [PATCH 01/62] ARM: at91: split out at91x40 into a top-level option Arnd Bergmann
2014-03-20  8:38   ` Nicolas Ferre
2014-03-21 15:46     ` Arnd Bergmann
2014-03-19 19:28 ` [PATCH 02/62] ARM: at91: don't provide dt init code for at91x40 Arnd Bergmann
2014-03-20  8:40   ` Nicolas Ferre
2014-03-19 19:29 ` [PATCH 03/62] ARM: at91: export sam9_smc interfaces Arnd Bergmann
2014-03-20  8:51   ` Nicolas Ferre
2014-03-19 19:29 ` [PATCH 04/62] ARM: at91: fix broken "if () else" statement Arnd Bergmann
2014-03-20  8:56   ` Nicolas Ferre
2014-03-20 13:16   ` Jean-Christophe PLAGNIOL-VILLARD
2014-03-21 15:48     ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 05/62] ARM: at91: sama5 always uses DT Arnd Bergmann
2014-03-20  8:57   ` Nicolas Ferre
2014-03-20 13:15   ` Jean-Christophe PLAGNIOL-VILLARD
2014-03-19 19:29 ` [PATCH 06/62] ARM: davinci: export da8xx_syscfg0_base Arnd Bergmann
2014-03-19 20:53   ` Sergei Shtylyov
2014-03-19 20:21     ` Arnd Bergmann
2014-03-19 22:36       ` Sergei Shtylyov
2014-03-20  6:42         ` Arnd Bergmann
2014-03-20  9:36           ` Sekhar Nori
2014-03-20 11:50             ` Arnd Bergmann
2014-03-20 18:59               ` Sergei Shtylyov
2014-03-20 18:22                 ` Arnd Bergmann
2014-03-20 19:34                   ` Sergei Shtylyov
2014-03-20 16:20           ` Sergei Shtylyov [this message]
2014-03-20 19:42             ` Sergei Shtylyov
2014-03-20  9:24       ` Sekhar Nori
2014-03-20 11:57         ` Arnd Bergmann
2014-03-20 12:22           ` Sekhar Nori
2014-03-19 19:29 ` [PATCH 07/62] ARM: davinci: make dm644x-evm phy fixup conditional Arnd Bergmann
2014-03-20 12:29   ` Sekhar Nori
2014-03-19 19:29 ` [PATCH 08/62] ARM: davinci: use explicit 'select' for DA850_EVM Arnd Bergmann
2014-03-20 12:47   ` Sekhar Nori
2014-03-21 15:56     ` Arnd Bergmann
2014-03-24  5:09       ` Sekhar Nori
2014-03-19 19:29 ` [PATCH 09/62] ARM: efm32: allow uncompress debug output Arnd Bergmann
2014-03-20 20:51   ` Uwe Kleine-König
2014-03-19 19:29 ` [PATCH 10/62] ARM: efm32: select AUTO_ZRELADDR Arnd Bergmann
2014-03-20 20:48   ` Uwe Kleine-König
2014-03-20 22:16     ` Arnd Bergmann
2014-03-21 14:32       ` Uwe Kleine-König
2014-03-21 15:10         ` Arnd Bergmann
2014-03-21 18:54           ` Uwe Kleine-König
2014-03-21 21:34             ` Rob Herring
2014-03-22  9:27               ` Arnd Bergmann
2014-03-23 11:32                 ` Uwe Kleine-König
2014-03-24  7:28                   ` [PATCH] ARM: determine zreladdr for no-MMU machines automatically Uwe Kleine-König
2014-03-19 19:29 ` [PATCH 11/62] ARM: ep93xx: export ep93xx_chip_revision Arnd Bergmann
2014-03-19 20:15   ` Hartley Sweeten
2014-03-19 19:29 ` [PATCH 12/62] ARM: hisi: fix building without CONFIG_HOTPLUG_CPU Arnd Bergmann
2014-03-20  1:49   ` Haojian Zhuang
2014-03-19 19:29 ` [PATCH 13/62] ARM: hisi: select HAVE_ARM_SCU only for SMP Arnd Bergmann
2014-03-20  1:47   ` Haojian Zhuang
2014-03-19 19:29 ` [PATCH 14/62] ARM: imx: imx6q_set_lpm is only defined for CONFIG_PM=y Arnd Bergmann
2014-03-20  6:50   ` Shawn Guo
2014-03-19 19:29 ` [PATCH 15/62] ARM: ixp4xx/omixp: always include linux/leds.h Arnd Bergmann
2014-03-23  0:54   ` Krzysztof Halasa
2014-03-19 19:29 ` [PATCH 16/62] ARM: ixp4xx: avoid use of PCIBIOS_MIN_MEM in io.h Arnd Bergmann
2014-03-23  0:47   ` Krzysztof Halasa
2014-03-19 19:29 ` [PATCH 17/62] ARM: ixp4xx: fix gpio rework Arnd Bergmann
2014-03-23  0:42   ` Krzysztof Halasa
2014-03-19 19:29 ` [PATCH 18/62] ARM: ks8695/og: make PCI setup conditional Arnd Bergmann
2014-03-19 23:20   ` Greg Ungerer
2014-03-19 19:29 ` [PATCH 19/62] ARM: lpc32xx: export lpc32xx_return_iram_size Arnd Bergmann
2014-03-19 20:05   ` Roland Stigge
2014-03-19 19:29 ` [PATCH 20/62] ARM: msm: add missing include of linux/module.h Arnd Bergmann
2014-03-19 21:11   ` David Brown
2014-03-19 19:29 ` [PATCH 21/62] ARM: msm: avoid calling debug_ll_addr on !MMU Arnd Bergmann
2014-03-19 21:11   ` David Brown
2014-03-19 19:29 ` [PATCH 22/62] ARM: msm: export legacy DMA interfaces Arnd Bergmann
2014-03-19 21:12   ` David Brown
2014-03-19 19:29 ` [PATCH 23/62] ARM: omap1: fix building without 32K_TIMER Arnd Bergmann
2014-03-19 19:29   ` Arnd Bergmann
2014-03-19 19:59   ` Felipe Balbi
2014-03-19 19:59     ` Felipe Balbi
2014-03-19 20:01     ` Felipe Balbi
2014-03-19 20:01       ` Felipe Balbi
2014-03-19 20:34       ` Tony Lindgren
2014-03-19 20:34         ` Tony Lindgren
2014-03-21 16:01         ` Arnd Bergmann
2014-03-21 16:01           ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 24/62] ARM: omap1: select I2C where needed for PMIC Arnd Bergmann
2014-03-19 19:29   ` Arnd Bergmann
2014-03-19 20:46   ` Tony Lindgren
2014-03-19 20:46     ` Tony Lindgren
2014-03-19 20:57     ` Arnd Bergmann
2014-03-19 20:57       ` Arnd Bergmann
2014-03-19 21:04       ` Tony Lindgren
2014-03-19 21:04         ` Tony Lindgren
2014-03-19 19:29 ` [PATCH 25/62] ARM: mvebu: add missing header Arnd Bergmann
2014-03-19 19:34   ` Jason Cooper
2014-03-19 20:37   ` Gregory CLEMENT
2014-03-19 19:29 ` [PATCH 26/62] ARM: mvebu: don't select CONFIG_NEON Arnd Bergmann
2014-03-19 19:37   ` Jason Cooper
2014-03-19 21:33     ` Gregory CLEMENT
2014-03-21 16:08       ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 27/62] ARM: orion5x: make dns323 independent of PHY support Arnd Bergmann
2014-03-19 19:39   ` Jason Cooper
2014-03-19 19:29 ` [PATCH 28/62] ARM: pxa: FB_W100 must be built-in Arnd Bergmann
2014-03-21 16:28   ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 29/62] ARM: pxa: don't "select" SMC91X on MACH_XCEP Arnd Bergmann
2014-03-19 19:29 ` [PATCH 30/62] ARM: pxa: enable pxafb unconditionally for some boards Arnd Bergmann
2014-03-19 19:29 ` [PATCH 31/62] ARM: pxa: fix colibri build Arnd Bergmann
2014-03-19 19:29 ` [PATCH 32/62] ARM: pxa: fix pxa_ssp_* declarations Arnd Bergmann
2014-03-19 19:29 ` [PATCH 33/62] ARM: pxa: remove broken balloon3_gpio_vbus reference Arnd Bergmann
2014-03-19 19:29 ` [PATCH 34/62] ARM: pxa: select I2C_GPIO only if I2C is on Arnd Bergmann
2014-03-20  1:51   ` Haojian Zhuang
2014-03-19 19:29 ` [PATCH 35/62] ARM: pxa: trizeps4 and trizeps4wl use the same file Arnd Bergmann
2014-03-19 19:29 ` [PATCH 36/62] ARM: rpc: autoselect CPU_SA110 Arnd Bergmann
2014-03-19 19:29 ` [PATCH 37/62] ARM: sa1100/pxa: fix MTD_XIP build Arnd Bergmann
2014-03-19 20:12   ` Russell King - ARM Linux
2014-03-19 22:00     ` Nicolas Pitre
2014-03-21 16:11     ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 38/62] ARM: footbridge: don't build floppy code for addin mode Arnd Bergmann
2014-03-19 19:29 ` [PATCH 39/62] ARM: footbridge: fix build with PCI disabled Arnd Bergmann
2014-03-19 19:29 ` [PATCH 40/62] ARM: footbridge: make screen_info setup conditional Arnd Bergmann
2014-03-19 19:29 ` [PATCH 41/62] ARM: realview: fix sparsemem build Arnd Bergmann
2014-03-19 19:29 ` [PATCH 42/62] ARM: realview: use explicit core tile config options Arnd Bergmann
2014-03-25 14:10   ` Linus Walleij
2014-03-25 14:37     ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 43/62] ARM: integrator: only select pl01x if TTY is enabled Arnd Bergmann
2014-03-25 14:09   ` Linus Walleij
2014-03-19 19:29 ` [PATCH 44/62] ARM: integrator: refine CPU selection Arnd Bergmann
2014-03-19 20:49   ` Russell King - ARM Linux
2014-03-19 21:05     ` Arnd Bergmann
2014-03-20 10:48       ` Arnd Bergmann
2014-03-25 20:34         ` Linus Walleij
2014-03-25 23:42           ` Arnd Bergmann
2014-03-26 10:27             ` Linus Walleij
2014-03-19 19:29 ` [PATCH 45/62] ARM: s3c24xx: MINI2440 needs I2C for EEPROM_AT24 Arnd Bergmann
2014-03-20  3:48   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 46/62] ARM: s3c24xx: fix gta02 build error Arnd Bergmann
2014-03-20  3:48   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 47/62] ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1 Arnd Bergmann
2014-03-20  3:55   ` Kukjin Kim
2014-03-21 16:13     ` Arnd Bergmann
2014-03-21 23:40       ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 48/62] ARM: s3c64xx: select power domains only when used Arnd Bergmann
2014-03-20  3:56   ` Kukjin Kim
2014-03-20 18:14     ` Kukjin Kim
2014-03-20 22:39       ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 49/62] ARM: s5p64x0: fix building with only one soc type Arnd Bergmann
2014-03-20  3:59   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 50/62] ARM: s5pv210: enable IDE support in MACH_TORBRECK Arnd Bergmann
2014-03-20  4:01   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 51/62] ARM: samsung: allow serial driver to be disabled Arnd Bergmann
2014-03-20  4:03   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 52/62] ARM: samsung: disable decompressor watchdog on exynos Arnd Bergmann
2014-03-20  4:11   ` Kukjin Kim
2014-03-21 16:14     ` Arnd Bergmann
2014-03-21 23:41       ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 53/62] ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic Arnd Bergmann
2014-03-20  4:13   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 54/62] ARM: samsung: select ATAGS where necessary Arnd Bergmann
2014-03-20  4:14   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 55/62] ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK Arnd Bergmann
2014-03-20  4:16   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 56/62] ARM: samsung: select I2C where needed for PMIC Arnd Bergmann
2014-03-20  4:18   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 57/62] ARM: exynos: fix l2x0 saved regs handling Arnd Bergmann
2014-03-20  4:19   ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 58/62] ARM: exynos: add missing include of linux/module.h Arnd Bergmann
2014-03-20  4:23   ` Kukjin Kim
2014-03-21 15:42     ` Arnd Bergmann
2014-03-21 23:40       ` Kukjin Kim
2014-03-19 19:29 ` [PATCH 59/62] ARM: shmobile: ak4642 needs i2c support Arnd Bergmann
2014-03-19 19:29   ` Arnd Bergmann
2014-03-19 19:50   ` Sergei Shtylyov
2014-03-19 20:50     ` Sergei Shtylyov
2014-03-19 20:24     ` Arnd Bergmann
2014-03-19 20:24       ` Arnd Bergmann
2014-03-19 19:29 ` [PATCH 60/62] ARM: shmobile: work around CONFIG_PHYLIB=m Arnd Bergmann
2014-03-19 19:29   ` Arnd Bergmann
2014-03-20  3:55   ` Simon Horman
2014-03-20  3:55     ` Simon Horman
2014-03-21 15:43     ` Arnd Bergmann
2014-03-21 15:43       ` Arnd Bergmann
2014-03-24  1:35       ` Simon Horman
2014-03-24  1:35         ` Simon Horman
2014-03-24 12:04         ` Arnd Bergmann
2014-03-24 12:04           ` Arnd Bergmann
2014-03-25  9:16           ` Uwe Kleine-König
2014-03-25  9:16             ` Uwe Kleine-König
2014-03-19 19:29 ` [PATCH 61/62] ARM: sunxi: fix build for THUMB2_KERNEL Arnd Bergmann
2014-03-19 22:04   ` Rob Herring
2014-03-20 10:59     ` Arnd Bergmann
2014-03-21 15:54       ` Rob Herring
2014-03-21 16:05         ` Arnd Bergmann
2014-03-21 16:24           ` Arnd Bergmann
2014-03-21 18:21             ` Rob Herring
2014-03-21 18:40               ` Arnd Bergmann
2014-03-24 13:47             ` Maxime Ripard
2014-03-21 19:11         ` Maxime Ripard
     [not found] ` <1395257399-359545-1-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2014-03-19 19:29   ` [PATCH 62/62] ARM: tegra: make debug_ll code build for ARMv6 Arnd Bergmann
2014-03-19 19:29     ` Arnd Bergmann
     [not found]     ` <1395257399-359545-63-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2014-03-19 19:40       ` Stephen Warren
2014-03-19 19:40         ` Stephen Warren
     [not found]         ` <5329F296.6030308-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-03-19 19:51           ` Arnd Bergmann
2014-03-19 19:51             ` Arnd Bergmann
2014-03-19 20:12             ` Stephen Warren
2014-03-19 20:12               ` Stephen Warren
     [not found]               ` <5329FA18.6090208-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-03-20 10:50                 ` Arnd Bergmann
2014-03-20 10:50                   ` Arnd Bergmann

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=532B155F.9020605@cogentembedded.com \
    --to=sergei.shtylyov@cogentembedded.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.