[RESEND PATCH 3/4] arm64: dts: rockchip: support gmac for rk3399
Heiko Stübner
heiko at sntech.de
Wed Aug 31 14:29:37 PDT 2016
Am Mittwoch, 31. August 2016, 13:42:17 schrieb Doug Anderson:
> Caesar,
>
> On Tue, Aug 30, 2016 at 11:13 PM, Caesar Wang <wxt at rock-chips.com> wrote:
> > This patch adds needed gamc information for rk3399,
> > also support the gmac pd.
> >
> > Signed-off-by: Roger Chen <roger.chen at rock-chips.com>
> > Signed-off-by: Caesar Wang <wxt at rock-chips.com>
> > ---
> >
> > arch/arm64/boot/dts/rockchip/rk3399.dtsi | 90
> > ++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+)
>
> I noticed that your subject for this patch contains "RESEND" and not
> "v2" event though there are changes between this version and the last
> one. That's really confusing. This should have been "v2" and the
> next version should be "v3".
>
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 32aebc8..abf27a4 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> > @@ -200,6 +200,26 @@
> >
> > };
> >
> > };
> >
> > + gmac: eth at fe300000 {
>
> nit: on rk3288 the node was "ethernet@" instead of "eth@". Presumably
> "ethernet" is more correct?
>
> > + compatible = "rockchip,rk3399-gmac";
> > + reg = <0x0 0xfe300000 0x0 0x10000>;
> > + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> > + interrupt-names = "macirq";
> > + clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
> > + <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
> > + <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
> > + <&cru PCLK_GMAC>;
> > + clock-names = "stmmaceth", "mac_clk_rx",
> > + "mac_clk_tx", "clk_mac_ref",
> > + "clk_mac_refout", "aclk_mac",
> > + "pclk_mac";
> > + power-domains = <&power RK3399_PD_GMAC>;
> > + resets = <&cru SRST_A_GMAC>;
> > + reset-names = "stmmaceth";
> > + rockchip,grf = <&grf>;
> > + status = "disabled";
> > + };
> > +
> >
> > sdio0: dwmmc at fe310000 {
> >
> > compatible = "rockchip,rk3399-dw-mshc",
> >
> > "rockchip,rk3288-dw-mshc";
> >
> > @@ -611,6 +631,11 @@
> >
> > status = "disabled";
> >
> > };
> >
> > + qos_gmac: qos at ffa5c000 {
> > + compatible = "syscon";
> > + reg = <0x0 0xffa5c000 0x0 0x20>;
> > + };
> > +
> >
> > qos_hdcp: qos at ffa90000 {
> >
> > compatible = "syscon";
> > reg = <0x0 0xffa90000 0x0 0x20>;
> >
> > @@ -704,6 +729,11 @@
> >
> > #size-cells = <0>;
> >
> > /* These power domains are grouped by VD_CENTER */
> >
> > + pd_gmac at RK3399_PD_GMAC {
>
> RK3399_PD_GMAC is not in VD_CENTER but in VD_LOGIC, right? ...so this
> should move.
>
> > + reg = <RK3399_PD_GMAC>;
> > + clocks = <&cru ACLK_GMAC>;
> > + pm_qos = <&qos_gmac>;
> > + };
>
> IMHO it would be nice if this were broken into two patches.
>
> 1. First patch would be the power domain patch and that could land any
> time. You wouldn't actually be able to use the gmac but at least
> you'd be able to turn off its power. This would be a handy patch to
> be able to backport if you happened to not need Ethernet support but
> wanted to save power.
>
> 2. Second patch would actually add the gmac.
according to my talk with Caesar in the real v1, the gmac even with power-
domains should work just nicely even without the dts patches, as the driver
core takes care of powering up the pd before probe.
But I may miss some peculiarity of the dwmac?
Heiko
More information about the Linux-rockchip
mailing list