Message ID | 20190216182132.12895-1-mans@mansr.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: dts: sun7i: add pinctrl for missing uart mux options | expand |
On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: > > This adds pinctrl settings for various missing uart options. > > Signed-off-by: Mans Rullgard <mans@mansr.com> > --- > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > index af5b067a5f83..2295ff5adf48 100644 > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > @@ -944,6 +944,31 @@ > function = "uart0"; > }; > > + uart0_pf_pins: uart0-pf-pins { > + pins = "PF2", "PF4"; > + function = "uart0"; > + }; We've had the policy of not adding pinctrl nodes that aren't used in-tree, to avoid bloating up the blob size. However DTC 1.4.7 introduced the new /omit-if-no-ref/ directive, which would make the compiler discard marked nodes if they aren't referenced. So please add this to all the new nodes. It seems to work regardless whether you add it before or after the label, though having it after the label seems to make vim syntax highlighting happier. Regards ChenYu
On Wed, Feb 20, 2019 at 04:58:49PM +0800, Chen-Yu Tsai wrote: > On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: > > > > This adds pinctrl settings for various missing uart options. > > > > Signed-off-by: Mans Rullgard <mans@mansr.com> > > --- > > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ > > 1 file changed, 45 insertions(+) > > > > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > > index af5b067a5f83..2295ff5adf48 100644 > > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > > @@ -944,6 +944,31 @@ > > function = "uart0"; > > }; > > > > + uart0_pf_pins: uart0-pf-pins { > > + pins = "PF2", "PF4"; > > + function = "uart0"; > > + }; > > We've had the policy of not adding pinctrl nodes that aren't used in-tree, > to avoid bloating up the blob size. However DTC 1.4.7 introduced the new > /omit-if-no-ref/ directive, which would make the compiler discard marked > nodes if they aren't referenced. > > So please add this to all the new nodes. It seems to work regardless whether > you add it before or after the label, though having it after the label seems > to make vim syntax highlighting happier. It also works (both for dtc and vim) if we put it on the previous line, so something like: /omit-if-no-ref/ uart0_pf_pins: uart0-pf-pins { }; And it does have the advantage of keeping the same line width, which could get pretty long on some nodes. Maxime
Maxime Ripard <maxime.ripard@bootlin.com> writes: > On Wed, Feb 20, 2019 at 04:58:49PM +0800, Chen-Yu Tsai wrote: >> On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: >> > >> > This adds pinctrl settings for various missing uart options. >> > >> > Signed-off-by: Mans Rullgard <mans@mansr.com> >> > --- >> > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ >> > 1 file changed, 45 insertions(+) >> > >> > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi >> > index af5b067a5f83..2295ff5adf48 100644 >> > --- a/arch/arm/boot/dts/sun7i-a20.dtsi >> > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi >> > @@ -944,6 +944,31 @@ >> > function = "uart0"; >> > }; >> > >> > + uart0_pf_pins: uart0-pf-pins { >> > + pins = "PF2", "PF4"; >> > + function = "uart0"; >> > + }; >> >> We've had the policy of not adding pinctrl nodes that aren't used in-tree, >> to avoid bloating up the blob size. However DTC 1.4.7 introduced the new >> /omit-if-no-ref/ directive, which would make the compiler discard marked >> nodes if they aren't referenced. >> >> So please add this to all the new nodes. It seems to work regardless whether >> you add it before or after the label, though having it after the label seems >> to make vim syntax highlighting happier. > > It also works (both for dtc and vim) if we put it on the previous > line, so something like: > > /omit-if-no-ref/ > uart0_pf_pins: uart0-pf-pins { > }; > > And it does have the advantage of keeping the same line width, which > could get pretty long on some nodes. Thanks, I'd missed that directive. It always seems needlessly annoying to make everybody working on a new board to add those nodes separately.
Maxime Ripard <maxime.ripard@bootlin.com> writes: > On Wed, Feb 20, 2019 at 04:58:49PM +0800, Chen-Yu Tsai wrote: >> On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: >> > >> > This adds pinctrl settings for various missing uart options. >> > >> > Signed-off-by: Mans Rullgard <mans@mansr.com> >> > --- >> > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ >> > 1 file changed, 45 insertions(+) >> > >> > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi >> > index af5b067a5f83..2295ff5adf48 100644 >> > --- a/arch/arm/boot/dts/sun7i-a20.dtsi >> > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi >> > @@ -944,6 +944,31 @@ >> > function = "uart0"; >> > }; >> > >> > + uart0_pf_pins: uart0-pf-pins { >> > + pins = "PF2", "PF4"; >> > + function = "uart0"; >> > + }; >> >> We've had the policy of not adding pinctrl nodes that aren't used in-tree, >> to avoid bloating up the blob size. However DTC 1.4.7 introduced the new >> /omit-if-no-ref/ directive, which would make the compiler discard marked >> nodes if they aren't referenced. >> >> So please add this to all the new nodes. It seems to work regardless whether >> you add it before or after the label, though having it after the label seems >> to make vim syntax highlighting happier. Should we also add this to existing nodes? BTW, I really do need all those uart pin options.
Hi, On Wed, Feb 20, 2019 at 10:59:58AM +0000, Måns Rullgård wrote: > Maxime Ripard <maxime.ripard@bootlin.com> writes: > > > On Wed, Feb 20, 2019 at 04:58:49PM +0800, Chen-Yu Tsai wrote: > >> On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: > >> > > >> > This adds pinctrl settings for various missing uart options. > >> > > >> > Signed-off-by: Mans Rullgard <mans@mansr.com> > >> > --- > >> > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ > >> > 1 file changed, 45 insertions(+) > >> > > >> > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > >> > index af5b067a5f83..2295ff5adf48 100644 > >> > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > >> > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > >> > @@ -944,6 +944,31 @@ > >> > function = "uart0"; > >> > }; > >> > > >> > + uart0_pf_pins: uart0-pf-pins { > >> > + pins = "PF2", "PF4"; > >> > + function = "uart0"; > >> > + }; > >> > >> We've had the policy of not adding pinctrl nodes that aren't used in-tree, > >> to avoid bloating up the blob size. However DTC 1.4.7 introduced the new > >> /omit-if-no-ref/ directive, which would make the compiler discard marked > >> nodes if they aren't referenced. > >> > >> So please add this to all the new nodes. It seems to work regardless whether > >> you add it before or after the label, though having it after the label seems > >> to make vim syntax highlighting happier. > > Should we also add this to existing nodes? If you want to send an additional patch, then yes sure :) Maxime
On Wed, Feb 20, 2019 at 7:00 PM Måns Rullgård <mans@mansr.com> wrote: > > Maxime Ripard <maxime.ripard@bootlin.com> writes: > > > On Wed, Feb 20, 2019 at 04:58:49PM +0800, Chen-Yu Tsai wrote: > >> On Sun, Feb 17, 2019 at 2:21 AM Mans Rullgard <mans@mansr.com> wrote: > >> > > >> > This adds pinctrl settings for various missing uart options. > >> > > >> > Signed-off-by: Mans Rullgard <mans@mansr.com> > >> > --- > >> > arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ > >> > 1 file changed, 45 insertions(+) > >> > > >> > diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi > >> > index af5b067a5f83..2295ff5adf48 100644 > >> > --- a/arch/arm/boot/dts/sun7i-a20.dtsi > >> > +++ b/arch/arm/boot/dts/sun7i-a20.dtsi > >> > @@ -944,6 +944,31 @@ > >> > function = "uart0"; > >> > }; > >> > > >> > + uart0_pf_pins: uart0-pf-pins { > >> > + pins = "PF2", "PF4"; > >> > + function = "uart0"; > >> > + }; > >> > >> We've had the policy of not adding pinctrl nodes that aren't used in-tree, > >> to avoid bloating up the blob size. However DTC 1.4.7 introduced the new > >> /omit-if-no-ref/ directive, which would make the compiler discard marked > >> nodes if they aren't referenced. > >> > >> So please add this to all the new nodes. It seems to work regardless whether > >> you add it before or after the label, though having it after the label seems > >> to make vim syntax highlighting happier. > > Should we also add this to existing nodes? > > BTW, I really do need all those uart pin options. Note that /omit-if-no-ref/ does not work with dtc -@, as in the node will be removed if no references to it are found within the same file. It will not result in a symbol being created. I have a patch for that but haven't sent it out yet. ChenYu
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index af5b067a5f83..2295ff5adf48 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi @@ -944,6 +944,31 @@ function = "uart0"; }; + uart0_pf_pins: uart0-pf-pins { + pins = "PF2", "PF4"; + function = "uart0"; + }; + + uart1_pa_pins: uart1-pa-pins { + pins = "PA10", "PA11"; + function = "uart1"; + }; + + uart1_cts_rts_pa_pins: uart1-cts-rts-pa-pins { + pins = "PA12", "PIA13"; + function = "uart2"; + }; + + uart2_pa_pins: uart2-pa-pins { + pins = "PIA2", "PIA3"; + function = "uart2"; + }; + + uart2_cts_rts_pa_pins: uart2-cts-rts-pa-pins { + pins = "PA0", "PIA1"; + function = "uart2"; + }; + uart2_pi_pins: uart2-pi-pins { pins = "PI18", "PI19"; function = "uart2"; @@ -969,6 +994,11 @@ function = "uart3"; }; + uart3_cts_rts_ph_pins: uart3-cts-rts-ph-pins { + pins = "PH2", "PH3"; + function = "uart3"; + }; + uart4_pg_pins: uart4-pg-pins { pins = "PG10", "PG11"; function = "uart4"; @@ -979,16 +1009,31 @@ function = "uart4"; }; + uart5_ph_pins: uart5-ph-pins { + pins = "PH6", "PH7"; + function = "uart5"; + }; + uart5_pi_pins: uart5-pi-pins { pins = "PI10", "PI11"; function = "uart5"; }; + uart6_pa_pins: uart6-pa-pins { + pins = "PA12", "PA13"; + function = "uart6"; + }; + uart6_pi_pins: uart6-pi-pins { pins = "PI12", "PI13"; function = "uart6"; }; + uart7_pa_pins: uart7-pa-pins { + pins = "PA14", "PA15"; + function = "uart7"; + }; + uart7_pi_pins: uart7-pi-pins { pins = "PI20", "PI21"; function = "uart7";
This adds pinctrl settings for various missing uart options. Signed-off-by: Mans Rullgard <mans@mansr.com> --- arch/arm/boot/dts/sun7i-a20.dtsi | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)