Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards

From: Manivannan Sadhasivam
Date: Wed Sep 12 2018 - 04:22:59 EST


On Wed, Sep 12, 2018 at 09:26:12AM +0200, Heiko Stübner wrote:
> Am Mittwoch, 12. September 2018, 05:12:48 CEST schrieb Manivannan Sadhasivam:
> > Hi Ezequiel,
> >
> > On Tue, Sep 11, 2018 at 04:40:29PM -0300, Ezequiel Garcia wrote:
> > > On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> > > > Since the same family members of Rock960 boards (Rock960 and Ficus)
> > > > share the same configuration, split out the common nodes into a common
> > > > dtsi file for reducing code duplication. The board specific nodes for
> > > > Ficus boards are then placed in corresponding board DTS file.
> > >
> > > I think it should be possible to move the common USB nodes to the dtsi
> > > file, and keep the board-specific (phy-supply property) in the dts files:
> > >
> > > &u2phy0_host {
> > >
> > > phy-supply = <&vcc5v0_host>;
> > >
> > > };
> > >
> > > &u2phy1_host {
> > >
> > > phy-supply = <&vcc5v0_host>;
> > >
> > > };
> >
> > We can do that but my intention was to entirely partition the nodes
> > which are not common. So that it would be less confusing when someone
> > looks at it (please correct me if I'm wrong).
>
> The supply is actually named the same on both boards, so you could move
> all the usb-nodes to the main dtsi, including the reference to vcc5v0_host
> which would then get defined itself in the two board dts.
>
> Then again, seeing that the vcc5v0_host also only differs in the actually
> used gpio another option would be to move the whole regulator node
> to the dtsi and just define the gpio properties in the board dts files.
>

Hmm, if that's the preferred option then I guess this applies to pcie
nodes also. At the end, usb and pcie nodes will be shrinked to below in
board dts:

&pinctrl {
pcie {
pcie_drv: pcie-drv {
rockchip,pins =
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};

usb2 {
host_vbus_drv: host-vbus-drv {
rockchip,pins =
<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

&pcie0 {
ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};

&vcc3v3_pcie {
gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
};

&vcc5v0_host {
gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
};

Thanks,
Mani

>
> Heiko
>
>