[PATCH] [v2] netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device
Timur Tabi
timur at freescale.com
Sat Aug 25 02:27:19 EST 2012
Stephen Warren wrote:
>>> >> Then, that'd have to be <9 1>;
>> >
>> > Actually, I had #size-cells = <0>.
> I think that if you have #size-cells=<0>, then you'll see the following
> error message when attempting to translate the address into the parent's
> address space:
>
> prom_parse: Bad cell count for /board-control at 3,0/mdio-mux-emi2
It doesn't appear to be working. Here's my tree:
/ {
model = "fsl,P5020DS";
compatible = "fsl,P5020DS";
#address-cells = <2>;
#size-cells = <2>;
interrupt-parent = <&mpic>;
lbc: localbus at ffe124000 {
reg = <0xf 0xfe124000 0 0x1000>;
ranges = <0 0 0xf 0xe8000000 0x08000000
2 0 0xf 0xffa00000 0x00040000
3 0 0xf 0xffdf0000 0x00008000>;
fpga: board-control at 3,0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x30>;
mdio-mux-emi1 {
compatible = "mdio-mux-mmioreg";
mdio-parent-bus = <&mdio0>;
#address-cells = <1>;
#size-cells = <0>;
reg = <9 1>; // BRDCFG1
mux-mask = <0x78>; // EMI1
That means that the physical address that I need is fffdf0009. However,
when I call of_address_to_resource(), the returned address I get is fe8000009.
So it's not picking up the "3" in the 'reg' property of the
board-control at 3,0 node. What am I missing? Do I need a 'ranges' property
in the board-control at 3,0 node?
--
Timur Tabi
Linux kernel developer at Freescale
More information about the devicetree-discuss
mailing list