mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* DeviceTree and children devices
@ 2011-10-24  6:42 Felipe Balbi
  2011-10-24  7:41 ` Grant Likely
  0 siblings, 1 reply; 6+ messages in thread
From: Felipe Balbi @ 2011-10-24  6:42 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Grant Likely, Linux Kernel Mailing List, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 1731 bytes --]

Hi Grant,

I have a question about how DeviceTree should be written in case a
device has a child device.

The way things are integrated on OMAP is that we will always have a
parent device which is a wrapper around an IP core in order to
integrate with the OMAP context (clocks, power management, etc).

That wrapper has its own address space and its own IRQ number
(generally). On my dwc3 driver I have modeled the OMAP wrapper as a
parent device which allocates a child device for the core IP driver.
This makes it a lot easier to re-use the core IP driver on other SoCs or
PCI (there's a glue layer for PCI too).

So I wonder if we should describe that on DeviceTree and not have the
OMAP glue layer allocate the core IP driver. Just to illustrate, here's
what we have:

static int dwc3_omap_probe(struct platform_device *pdev)
{
	struct platform_device	*dwc3;
	struct resource		res[2];

	dwc3 = platform_device_alloc("dwc3", -1);
	/* check*/

	dwc3->dev.parent = &pdev->dev;

	/* copy DMA fields from parent too */

	res[0].start = start_address;
	res[0].end = end_address;
	res[0].flags = IORESOURCE_MEM;

	res[1].start = irq_number;
	res[1].flags = IORESOURCE_IRQ;

	ret = platform_add_resources(dwc3, res, ARRAY_SIZE(res));
	/* check */

	return platform_add_device(dwc3);
}

and I wonder if I should have a DeviceTree like so:

usb@xxxxx {
	compatible = "ti,dwc3-omap";		// This is TI OMAP
						// wrapper
	range = <....>;

	...

	usb@yyyy {
		compatible = "synopsys,dwc3",	// This is core IP
						// inside wrapper

		...
	};
};

then I can drop the dwc3 platform_device allocation and all of that
resource copying, etc.

What do you think ?

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-10-24  8:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-24  6:42 DeviceTree and children devices Felipe Balbi
2011-10-24  7:41 ` Grant Likely
2011-10-24  7:49   ` Felipe Balbi
2011-10-24  7:58     ` Grant Likely
2011-10-24  8:12       ` Felipe Balbi
2011-10-24  8:23         ` Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®