Re: [PATCH 4/7] ARM: STi: DT: STiH410: Add usb2 picophy dt nodes

From: Arnd Bergmann
Date: Mon Dec 01 2014 - 10:41:13 EST


On Wednesday 19 November 2014 08:27:09 Peter Griffin wrote:
> + soc {
> + usb2_picophy1: phy@1 {
> + compatible = "st,stih407-usb2-phy";
> + #phy-cells = <0>;
> + st,syscfg = <&syscfg_core 0xf8 0xf4>;
> + resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
> + <&picophyreset STIH407_PICOPHY0_RESET>;
> + reset-names = "global", "port";
> + };
>
> + usb2_picophy2: phy@2 {
> + compatible = "st,stih407-usb2-phy";
> + #phy-cells = <0>;
> + st,syscfg = <&syscfg_core 0xfc 0xf4>;
> + resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
> + <&picophyreset STIH407_PICOPHY1_RESET>;
> + reset-names = "global", "port";
> + };
> + };

In theory the unit-address (the @1 and @2 part of the name) is supposed to
match the 'reg' property value, but of course that doesn't work any
more with the changed binding. The same problem keeps coming up, so
I wonder if anyone has an idea how this is supposed to be handled properly.

Should we just make up unit-address numbers? I guess a more elaborate
variant would be to have a parent node with #address-cells = <1> and
no ranges, to make up a new address space with arbitrarily assigned
reg values, like

phys {
#address-cells = <1>; /* just counting the nodes */
#size-cells = <0>;

usb2_picophy1: phy@0 {
compatible = "st,stih407-usb2-phy";
reg = <0>;
#phy-cells = <0>;
st,syscfg = <&syscfg_core 0xf8 0xf4>;
};

usb2_picophy2: phy@1 {
compatible = "st,stih407-usb2-phy";
reg = <0>;
#phy-cells = <0>;
st,syscfg = <&syscfg_core 0xf8 0xf4>;
};
}

Should we try to do it like this, or is that overcomplicating
things?

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/