Re: [PATCH v4 11/11] arm64: dts: mt2712: use non-empty ranges for usb-phy

From: Chunfeng Yun
Date: Tue Nov 12 2019 - 22:18:47 EST


On Tue, 2019-11-12 at 14:12 +0100, Matthias Brugger wrote:
>
> On 12/11/2019 09:36, Chunfeng Yun wrote:
> > Use non-empty ranges for usb-phy to make the layout of
> > its registers clearer;
> > Replace deprecated compatible by generic
> >
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
> > ---
> > v3~v4: no changes
> >
> > v2: use generic compatible
> > ---
> > arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 42 ++++++++++++-----------
> > 1 file changed, 22 insertions(+), 20 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
> > index 43307bad3f0d..e24f2f2f6004 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
> > @@ -697,30 +697,31 @@
> > };
> >
> > u3phy0: usb-phy@11290000 {
> > - compatible = "mediatek,mt2712-u3phy";
> > - #address-cells = <2>;
> > - #size-cells = <2>;
> > - ranges;
> > + compatible = "mediatek,mt2712-tphy",
> > + "mediatek,generic-tphy-v2";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
>
> At a first glance I don't understand why you change address and size cells.
> Commit message doesn't explain it and AFAIS it's not part of the binding changes.
When Ryder sent DTS patch for mt7629, Rob suggested to use 1 cell,
non-empty ranges and provide the offset for v2 tphy which hasn't shared
registers between sub-phys, it'll make layout more clear.

See: https://patchwork.kernel.org/patch/10850925/


>
> Can you explain why we need that, and update the commit message accordingly?

Just want to take it as an example when support other platforms.

>
> Regrads,
> Matthias
>
> > + ranges = <0 0 0x11290000 0x9000>;
> > status = "okay";
> >
> > - u2port0: usb-phy@11290000 {
> > - reg = <0 0x11290000 0 0x700>;
> > + u2port0: usb-phy@0 {
> > + reg = <0x0 0x700>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> > status = "okay";
> > };
> >
> > - u2port1: usb-phy@11298000 {
> > - reg = <0 0x11298000 0 0x700>;
> > + u2port1: usb-phy@8000 {
> > + reg = <0x8000 0x700>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> > status = "okay";
> > };
> >
> > - u3port0: usb-phy@11298700 {
> > - reg = <0 0x11298700 0 0x900>;
> > + u3port0: usb-phy@8700 {
> > + reg = <0x8700 0x900>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> > @@ -760,30 +761,31 @@
> > };
> >
> > u3phy1: usb-phy@112e0000 {
> > - compatible = "mediatek,mt2712-u3phy";
> > - #address-cells = <2>;
> > - #size-cells = <2>;
> > - ranges;
> > + compatible = "mediatek,mt2712-tphy",
> > + "mediatek,generic-tphy-v2";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges = <0 0 0x112e0000 0x9000>;
> > status = "okay";
> >
> > - u2port2: usb-phy@112e0000 {
> > - reg = <0 0x112e0000 0 0x700>;
> > + u2port2: usb-phy@0 {
> > + reg = <0x0 0x700>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> > status = "okay";
> > };
> >
> > - u2port3: usb-phy@112e8000 {
> > - reg = <0 0x112e8000 0 0x700>;
> > + u2port3: usb-phy@8000 {
> > + reg = <0x8000 0x700>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> > status = "okay";
> > };
> >
> > - u3port1: usb-phy@112e8700 {
> > - reg = <0 0x112e8700 0 0x900>;
> > + u3port1: usb-phy@8700 {
> > + reg = <0x8700 0x900>;
> > clocks = <&clk26m>;
> > clock-names = "ref";
> > #phy-cells = <1>;
> >