Re: [PATCH] [v2] netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device
From: Scott Wood <hidden>
Date: 2012-08-24 18:43:04
Also in:
netdev
On 08/24/2012 01:36 PM, Timur Tabi wrote:
Stephen Warren wrote:quoted
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@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