Re: [PATCH] [v2] netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device
From: Timur Tabi <hidden>
Date: 2012-08-24 16:27:19
Also in:
linux-devicetree
Stephen Warren wrote:
quoted
quoted
quoted
quoted
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@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@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@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@3,0 node. What am I missing? Do I need a 'ranges' property
in the board-control@3,0 node?
--
Timur Tabi
Linux kernel developer at Freescale