[PATCH] [v2] netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device
Scott Wood
scottwood at freescale.com
Sat Aug 25 04:43:04 EST 2012
On 08/24/2012 01:36 PM, Timur Tabi wrote:
> Stephen Warren wrote:
>> When translating the child node's reg property into the parent's address
>> space, the parent's reg property shouldn't even be used at all; all the
>> mapping is done through the ranges property.
>>
>> I thought the code error-checked for a missing ranges property, but I
>> guess not...
>
> I don't think 'ranges' is always necessary, because sometimes the child
> nodes have a different address space that's not mapped to the parent. For
> instance, I2C devices have addresses that are not mapped to the I2C
> controller itself.
>
> Anyway, thanks to Scott for helping me figure this out. I was missing a
> ranges property:
>
> fpga: board-control at 3,0 {
> #address-cells = <1>;
> #size-cells = <1>;
> compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis";
> reg = <3 0 0x30>;
> ranges = <0 3 0 0x30>;
>
> This maps the child address of 0 to the parent address of 3 0. It seems
> obvious now, but it was driving me crazy. We've never put child devices
> under our FPGA nodes, so there was no prior use case of a 'ranges'
> property in any of the localbus devices that I could learn from. Plus,
> this is the first time we're probing directly on a child of a localbus device.
There's ep8248e.dts, not that I'd have expected you to look there. :-)
-Scott
More information about the devicetree-discuss
mailing list