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

From: Heiko Stuebner
Date: Wed Sep 12 2018 - 10:06:42 EST


Am Mittwoch, 12. September 2018, 10:22:44 CEST schrieb Manivannan Sadhasivam:
> 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>;
> };

yep, ideally we could go that way. It's way easier to determine the
actual differences between boards that way as well.


Heiko