All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org,
	Romain Perier <romain.perier@gmail.com>,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH v4 1/4] ethernet: arc: Add support for Rockchip SoC layer device tree bindings
Date: Wed, 03 Sep 2014 14:20:50 +0200	[thread overview]
Message-ID: <12261801.xhz3LcucGs@diego> (raw)
In-Reply-To: <3774938.44qiV4hEoE@wuerfel>

Am Mittwoch, 3. September 2014, 13:14:54 schrieb Arnd Bergmann:
> On Wednesday 03 September 2014 10:27:13 Romain Perier wrote:
> > +static const struct emac_rockchip_soc_data emac_rockchip_dt_data[] = {
> > +       { .grf_offset = 0x154 }, /* rk3066 */
> > +       { .grf_offset = 0x0a4 }, /* rk3188 */
> > +};
> > +
> > +static const struct of_device_id emac_rockchip_dt_ids[] = {
> > +       { .compatible = "rockchip,rk3066-emac", .data =
> > &emac_rockchip_dt_data[0] }, +       { .compatible =
> > "rockchip,rk3188-emac", .data = &emac_rockchip_dt_data[1] }, +       { /*
> > Sentinel */ }
> > +};
> > +
> 
> One last question: is this the location given as .grf_offset the
> only thing in grf that is potentially of concern to this driver?
> 
> If it is, you can change the binding to include the register number
> in the syscon reference, like
> 
> 	rockchip,grf = <&grf 0x154>;
> 
> and then read it from there, to simplify the code needed to get the
> number from the device id.

I would disagree here :-)

Specific to the emac, there also exists a second register in the grf (0xa8 for 
the rk3188) that contains a field 

----
emac_newrcv_en - the selection of RMII receive selection
0: don't support the data package without header
1: support the data package without header
----

which we don't handle currently but somebody might want to in the future.
[There also is no documentation of this at all]


The dt maintainers also generally suggest to define compatibles for the 
individual socs anyway, even if only one is matched, so I don't see the 
necessity to encode this 2 times
	compatible = "rockchip,rk3188-emac", "rockchip,rk3066-emac";
	rockchip,grf = <&grf 0xa4>;

instead of the more flexible
	compatible = "rockchip,rk3188-emac";
	rockchip,grf = <&grf>;

which other rockchip drivers already use in this form.


Heiko

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 1/4] ethernet: arc: Add support for Rockchip SoC layer device tree bindings
Date: Wed, 03 Sep 2014 14:20:50 +0200	[thread overview]
Message-ID: <12261801.xhz3LcucGs@diego> (raw)
In-Reply-To: <3774938.44qiV4hEoE@wuerfel>

Am Mittwoch, 3. September 2014, 13:14:54 schrieb Arnd Bergmann:
> On Wednesday 03 September 2014 10:27:13 Romain Perier wrote:
> > +static const struct emac_rockchip_soc_data emac_rockchip_dt_data[] = {
> > +       { .grf_offset = 0x154 }, /* rk3066 */
> > +       { .grf_offset = 0x0a4 }, /* rk3188 */
> > +};
> > +
> > +static const struct of_device_id emac_rockchip_dt_ids[] = {
> > +       { .compatible = "rockchip,rk3066-emac", .data =
> > &emac_rockchip_dt_data[0] }, +       { .compatible =
> > "rockchip,rk3188-emac", .data = &emac_rockchip_dt_data[1] }, +       { /*
> > Sentinel */ }
> > +};
> > +
> 
> One last question: is this the location given as .grf_offset the
> only thing in grf that is potentially of concern to this driver?
> 
> If it is, you can change the binding to include the register number
> in the syscon reference, like
> 
> 	rockchip,grf = <&grf 0x154>;
> 
> and then read it from there, to simplify the code needed to get the
> number from the device id.

I would disagree here :-)

Specific to the emac, there also exists a second register in the grf (0xa8 for 
the rk3188) that contains a field 

----
emac_newrcv_en - the selection of RMII receive selection
0: don't support the data package without header
1: support the data package without header
----

which we don't handle currently but somebody might want to in the future.
[There also is no documentation of this at all]


The dt maintainers also generally suggest to define compatibles for the 
individual socs anyway, even if only one is matched, so I don't see the 
necessity to encode this 2 times
	compatible = "rockchip,rk3188-emac", "rockchip,rk3066-emac";
	rockchip,grf = <&grf 0xa4>;

instead of the more flexible
	compatible = "rockchip,rk3188-emac";
	rockchip,grf = <&grf>;

which other rockchip drivers already use in this form.


Heiko

  reply	other threads:[~2014-09-03 12:18 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03 10:27 [PATCH v4 1/4] ethernet: arc: Add support for Rockchip SoC layer device tree bindings Romain Perier
2014-09-03 10:27 ` Romain Perier
2014-09-03 10:27 ` [PATCH 2/4] dt-bindings: Document EMAC Rockchip Romain Perier
2014-09-03 10:27   ` Romain Perier
2014-09-03 14:26   ` Heiko Stübner
2014-09-03 14:26     ` Heiko Stübner
2014-09-03 10:27 ` [PATCH 3/4] ARM: dts: Add emac nodes to the rk3188 device tree Romain Perier
2014-09-03 10:27   ` Romain Perier
2014-09-03 10:27 ` [PATCH 4/4] ARM: dts: Enable emac node on the rk3188-radxarock boards Romain Perier
2014-09-03 10:27   ` Romain Perier
2014-09-03 15:29   ` Naoki FUKAUMI
2014-09-03 15:29     ` Naoki FUKAUMI
2014-09-03 16:37     ` PERIER Romain
2014-09-03 16:37       ` PERIER Romain
2014-09-03 17:45       ` Arnd Bergmann
2014-09-03 17:45         ` Arnd Bergmann
2014-09-03 10:42 ` [PATCH v4 1/4] ethernet: arc: Add support for Rockchip SoC layer device tree bindings Varka Bhadram
2014-09-03 10:42   ` Varka Bhadram
2014-09-03 11:14 ` Arnd Bergmann
2014-09-03 11:14   ` Arnd Bergmann
2014-09-03 12:20   ` Heiko Stübner [this message]
2014-09-03 12:20     ` Heiko Stübner
2014-09-03 12:50     ` Arnd Bergmann
2014-09-03 12:50       ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12261801.xhz3LcucGs@diego \
    --to=heiko@sntech.de \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=netdev@vger.kernel.org \
    --cc=romain.perier@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.