* [PATCH 1/3] drivers/tty/serial/8250: simplify Aspeed VUART SIRQ polarity DT config
[not found] <20210330002338.335-1-zev@bewilderbeest.net>
@ 2021-03-30 0:23 ` Zev Weiss
2021-03-30 0:23 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Zev Weiss
1 sibling, 0 replies; 16+ messages in thread
From: Zev Weiss @ 2021-03-30 0:23 UTC (permalink / raw)
To: Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Andrew Jeffery, Zev Weiss, Greg Kroah-Hartman, Jiri Slaby,
Alexander A. Klimov, Masahiro Yamada, Josh Triplett, linux-serial
The initial implementation of this configuration conflated the SIRQ
polarity setting with the syscon eSPI/LPC strapping; this patch
disentangles them by reducing the DT config to a simple boolean.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
drivers/tty/serial/8250/8250_aspeed_vuart.c | 39 ++-------------------
drivers/tty/serial/8250/Kconfig | 1 -
2 files changed, 2 insertions(+), 38 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
index c33e02cbde93..b9b5fa58ab28 100644
--- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
+++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
@@ -10,8 +10,6 @@
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
-#include <linux/regmap.h>
-#include <linux/mfd/syscon.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/clk.h>
@@ -346,30 +344,8 @@ static int aspeed_vuart_handle_irq(struct uart_port *port)
return 1;
}
-static void aspeed_vuart_auto_configure_sirq_polarity(
- struct aspeed_vuart *vuart, struct device_node *syscon_np,
- u32 reg_offset, u32 reg_mask)
-{
- struct regmap *regmap;
- u32 value;
-
- regmap = syscon_node_to_regmap(syscon_np);
- if (IS_ERR(regmap)) {
- dev_warn(vuart->dev,
- "could not get regmap for aspeed,sirq-polarity-sense\n");
- return;
- }
- if (regmap_read(regmap, reg_offset, &value)) {
- dev_warn(vuart->dev, "could not read hw strap table\n");
- return;
- }
-
- aspeed_vuart_set_sirq_polarity(vuart, (value & reg_mask) == 0);
-}
-
static int aspeed_vuart_probe(struct platform_device *pdev)
{
- struct of_phandle_args sirq_polarity_sense_args;
struct uart_8250_port port;
struct aspeed_vuart *vuart;
struct device_node *np;
@@ -468,19 +444,8 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
vuart->line = rc;
- rc = of_parse_phandle_with_fixed_args(
- np, "aspeed,sirq-polarity-sense", 2, 0,
- &sirq_polarity_sense_args);
- if (rc < 0) {
- dev_dbg(&pdev->dev,
- "aspeed,sirq-polarity-sense property not found\n");
- } else {
- aspeed_vuart_auto_configure_sirq_polarity(
- vuart, sirq_polarity_sense_args.np,
- sirq_polarity_sense_args.args[0],
- BIT(sirq_polarity_sense_args.args[1]));
- of_node_put(sirq_polarity_sense_args.np);
- }
+ if (of_property_read_bool(np, "aspeed,sirq-active-high"))
+ aspeed_vuart_set_sirq_polarity(vuart, 1);
aspeed_vuart_set_enabled(vuart, true);
aspeed_vuart_set_host_tx_discard(vuart, true);
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
index 603137da4736..105a325bcdd1 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -254,7 +254,6 @@ config SERIAL_8250_ASPEED_VUART
tristate "Aspeed Virtual UART"
depends on SERIAL_8250
depends on OF
- depends on REGMAP && MFD_SYSCON
help
If you want to use the virtual UART (VUART) device on Aspeed
BMC platforms, enable this option. This enables the 16550A-
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high
[not found] <20210330002338.335-1-zev@bewilderbeest.net>
2021-03-30 0:23 ` [PATCH 1/3] drivers/tty/serial/8250: simplify Aspeed VUART SIRQ polarity DT config Zev Weiss
@ 2021-03-30 0:23 ` Zev Weiss
2021-03-30 22:39 ` Rob Herring
1 sibling, 1 reply; 16+ messages in thread
From: Zev Weiss @ 2021-03-30 0:23 UTC (permalink / raw)
To: Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Andrew Jeffery, Zev Weiss, Greg Kroah-Hartman, Rob Herring,
Lubomir Rintel, -, linux-serial
Update DT bindings documentation for the new incarnation of the
aspeed,sirq-polarity-sense property.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
Documentation/devicetree/bindings/serial/8250.yaml | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index f54cae9ff7b2..0bbb7121f720 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -13,7 +13,7 @@ allOf:
- $ref: /schemas/serial.yaml#
- if:
required:
- - aspeed,sirq-polarity-sense
+ - aspeed,sirq-active-high
then:
properties:
compatible:
@@ -181,13 +181,11 @@ properties:
rng-gpios: true
dcd-gpios: true
- aspeed,sirq-polarity-sense:
- $ref: /schemas/types.yaml#/definitions/phandle-array
+ aspeed,sirq-active-high:
+ type: boolean
description: |
- Phandle to aspeed,ast2500-scu compatible syscon alongside register
- offset and bit number to identify how the SIRQ polarity should be
- configured. One possible data source is the LPC/eSPI mode bit. Only
- applicable to aspeed,ast2500-vuart.
+ Set to indicate that the SIRQ polarity is active-high (default
+ is active-low). Only applicable to aspeed,ast2500-vuart.
required:
- reg
@@ -227,7 +225,7 @@ examples:
interrupts = <8>;
clocks = <&syscon ASPEED_CLK_APB>;
no-loopback-test;
- aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
+ aspeed,sirq-active-high;
};
...
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high
2021-03-30 0:23 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Zev Weiss
@ 2021-03-30 22:39 ` Rob Herring
2021-03-30 23:04 ` Zev Weiss
2021-03-30 23:26 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Joel Stanley
0 siblings, 2 replies; 16+ messages in thread
From: Rob Herring @ 2021-03-30 22:39 UTC (permalink / raw)
To: Zev Weiss
Cc: Joel Stanley, openbmc, linux-arm-kernel, linux-aspeed,
linux-kernel, Andrew Jeffery, Greg Kroah-Hartman, Lubomir Rintel,
-, linux-serial
On Mon, Mar 29, 2021 at 07:23:37PM -0500, Zev Weiss wrote:
> Update DT bindings documentation for the new incarnation of the
> aspeed,sirq-polarity-sense property.
Why?
This isn't a compatible change.
>
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> ---
> Documentation/devicetree/bindings/serial/8250.yaml | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> index f54cae9ff7b2..0bbb7121f720 100644
> --- a/Documentation/devicetree/bindings/serial/8250.yaml
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -13,7 +13,7 @@ allOf:
> - $ref: /schemas/serial.yaml#
> - if:
> required:
> - - aspeed,sirq-polarity-sense
> + - aspeed,sirq-active-high
> then:
> properties:
> compatible:
> @@ -181,13 +181,11 @@ properties:
> rng-gpios: true
> dcd-gpios: true
>
> - aspeed,sirq-polarity-sense:
> - $ref: /schemas/types.yaml#/definitions/phandle-array
> + aspeed,sirq-active-high:
> + type: boolean
> description: |
> - Phandle to aspeed,ast2500-scu compatible syscon alongside register
> - offset and bit number to identify how the SIRQ polarity should be
> - configured. One possible data source is the LPC/eSPI mode bit. Only
> - applicable to aspeed,ast2500-vuart.
> + Set to indicate that the SIRQ polarity is active-high (default
> + is active-low). Only applicable to aspeed,ast2500-vuart.
>
> required:
> - reg
> @@ -227,7 +225,7 @@ examples:
> interrupts = <8>;
> clocks = <&syscon ASPEED_CLK_APB>;
> no-loopback-test;
> - aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
> + aspeed,sirq-active-high;
> };
>
> ...
> --
> 2.31.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high
2021-03-30 22:39 ` Rob Herring
@ 2021-03-30 23:04 ` Zev Weiss
[not found] ` <20210401005702.28271-1-zev@bewilderbeest.net>
2021-03-30 23:26 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Joel Stanley
1 sibling, 1 reply; 16+ messages in thread
From: Zev Weiss @ 2021-03-30 23:04 UTC (permalink / raw)
To: Rob Herring
Cc: Joel Stanley, openbmc, linux-arm-kernel, linux-aspeed,
linux-kernel, Andrew Jeffery, Greg Kroah-Hartman, Lubomir Rintel,
-, linux-serial
On Tue, Mar 30, 2021 at 05:39:02PM CDT, Rob Herring wrote:
>On Mon, Mar 29, 2021 at 07:23:37PM -0500, Zev Weiss wrote:
>> Update DT bindings documentation for the new incarnation of the
>> aspeed,sirq-polarity-sense property.
>
>Why?
>
>This isn't a compatible change.
>
Ah, sorry -- that was a misunderstanding on my end. I'll resend a
compatible v2 shortly.
Zev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high
2021-03-30 22:39 ` Rob Herring
2021-03-30 23:04 ` Zev Weiss
@ 2021-03-30 23:26 ` Joel Stanley
1 sibling, 0 replies; 16+ messages in thread
From: Joel Stanley @ 2021-03-30 23:26 UTC (permalink / raw)
To: Rob Herring
Cc: Zev Weiss, OpenBMC Maillist, Linux ARM, linux-aspeed,
Linux Kernel Mailing List, Andrew Jeffery, Greg Kroah-Hartman,
Lubomir Rintel, -, linux-serial
On Tue, 30 Mar 2021 at 22:39, Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Mar 29, 2021 at 07:23:37PM -0500, Zev Weiss wrote:
> > Update DT bindings documentation for the new incarnation of the
> > aspeed,sirq-polarity-sense property.
>
> Why?
>
> This isn't a compatible change.
We want to depreciate support for this property. It should have never
been added to the bindings; in it's current form it describes a
relationship that afaict doesn't exist ("This unrelated register over
here dictates the polarity of your virtual serial port IRQ"). See
https://lore.kernel.org/lkml/20200812112400.2406734-1-joel@jms.id.au/
The intent is to remove it from both the bindings and the code.
There's already no users of it in any device tree.
How would you like Zev to go about doing this?
Cheers,
Joel
>
> >
> > Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> > ---
> > Documentation/devicetree/bindings/serial/8250.yaml | 14 ++++++--------
> > 1 file changed, 6 insertions(+), 8 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> > index f54cae9ff7b2..0bbb7121f720 100644
> > --- a/Documentation/devicetree/bindings/serial/8250.yaml
> > +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> > @@ -13,7 +13,7 @@ allOf:
> > - $ref: /schemas/serial.yaml#
> > - if:
> > required:
> > - - aspeed,sirq-polarity-sense
> > + - aspeed,sirq-active-high
> > then:
> > properties:
> > compatible:
> > @@ -181,13 +181,11 @@ properties:
> > rng-gpios: true
> > dcd-gpios: true
> >
> > - aspeed,sirq-polarity-sense:
> > - $ref: /schemas/types.yaml#/definitions/phandle-array
> > + aspeed,sirq-active-high:
> > + type: boolean
> > description: |
> > - Phandle to aspeed,ast2500-scu compatible syscon alongside register
> > - offset and bit number to identify how the SIRQ polarity should be
> > - configured. One possible data source is the LPC/eSPI mode bit. Only
> > - applicable to aspeed,ast2500-vuart.
> > + Set to indicate that the SIRQ polarity is active-high (default
> > + is active-low). Only applicable to aspeed,ast2500-vuart.
> >
> > required:
> > - reg
> > @@ -227,7 +225,7 @@ examples:
> > interrupts = <8>;
> > clocks = <&syscon ASPEED_CLK_APB>;
> > no-loopback-test;
> > - aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
> > + aspeed,sirq-active-high;
> > };
> >
> > ...
> > --
> > 2.31.1
> >
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense
[not found] ` <20210401005702.28271-1-zev@bewilderbeest.net>
@ 2021-04-01 0:57 ` Zev Weiss
2021-04-01 3:53 ` Joel Stanley
2021-04-01 0:57 ` [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity Zev Weiss
2021-04-01 0:57 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high Zev Weiss
2 siblings, 1 reply; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 0:57 UTC (permalink / raw)
To: Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Andrew Jeffery, Zev Weiss, Greg Kroah-Hartman, Rob Herring,
Lubomir Rintel, -, linux-serial
This property ties SIRQ polarity to SCU register bits that don't
necessarily have any direct relationship to it; the only use of it
was removed in commit c82bf6e133d30e0f9172a20807814fa28aef0f67.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
Documentation/devicetree/bindings/serial/8250.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index f54cae9ff7b2..491b9297432d 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -188,6 +188,7 @@ properties:
offset and bit number to identify how the SIRQ polarity should be
configured. One possible data source is the LPC/eSPI mode bit. Only
applicable to aspeed,ast2500-vuart.
+ deprecated: true
required:
- reg
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity
[not found] ` <20210401005702.28271-1-zev@bewilderbeest.net>
2021-04-01 0:57 ` [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense Zev Weiss
@ 2021-04-01 0:57 ` Zev Weiss
2021-04-01 4:15 ` Joel Stanley
2021-04-01 0:57 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high Zev Weiss
2 siblings, 1 reply; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 0:57 UTC (permalink / raw)
To: Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Andrew Jeffery, Zev Weiss, Greg Kroah-Hartman, Jiri Slaby,
linux-serial
This provides a simple boolean to use instead of the deprecated
aspeed,sirq-polarity-sense property.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
index c33e02cbde93..e5ef9f957f9a 100644
--- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
+++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
@@ -482,6 +482,9 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
of_node_put(sirq_polarity_sense_args.np);
}
+ if (of_property_read_bool(np, "aspeed,sirq-active-high"))
+ aspeed_vuart_set_sirq_polarity(vuart, 1);
+
aspeed_vuart_set_enabled(vuart, true);
aspeed_vuart_set_host_tx_discard(vuart, true);
platform_set_drvdata(pdev, vuart);
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high
[not found] ` <20210401005702.28271-1-zev@bewilderbeest.net>
2021-04-01 0:57 ` [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense Zev Weiss
2021-04-01 0:57 ` [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity Zev Weiss
@ 2021-04-01 0:57 ` Zev Weiss
2021-04-01 4:04 ` Andrew Jeffery
2021-04-01 14:56 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed, sirq-active-high Rob Herring
2 siblings, 2 replies; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 0:57 UTC (permalink / raw)
To: Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Andrew Jeffery, Zev Weiss, Greg Kroah-Hartman, Rob Herring,
Lubomir Rintel, -, linux-serial
This provides a simpler, more direct alternative to the deprecated
aspeed,sirq-polarity-sense property for indicating the polarity of
the Aspeed VUART's SIRQ line.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
---
Documentation/devicetree/bindings/serial/8250.yaml | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index 491b9297432d..e79bb6ab9d2c 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -12,8 +12,9 @@ maintainers:
allOf:
- $ref: /schemas/serial.yaml#
- if:
- required:
- - aspeed,sirq-polarity-sense
+ anyOf:
+ - required: [ aspeed,sirq-active-high ]
+ - required: [ aspeed,sirq-polarity-sense ]
then:
properties:
compatible:
@@ -190,6 +191,12 @@ properties:
applicable to aspeed,ast2500-vuart.
deprecated: true
+ aspeed,sirq-active-high:
+ type: boolean
+ description: |
+ Set to indicate that the SIRQ polarity is active-high (default
+ is active-low). Only applicable to aspeed,ast2500-vuart.
+
required:
- reg
- interrupts
@@ -228,7 +235,7 @@ examples:
interrupts = <8>;
clocks = <&syscon ASPEED_CLK_APB>;
no-loopback-test;
- aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
+ aspeed,sirq-active-high;
};
...
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense
2021-04-01 0:57 ` [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense Zev Weiss
@ 2021-04-01 3:53 ` Joel Stanley
0 siblings, 0 replies; 16+ messages in thread
From: Joel Stanley @ 2021-04-01 3:53 UTC (permalink / raw)
To: Zev Weiss
Cc: OpenBMC Maillist, Linux ARM, linux-aspeed,
Linux Kernel Mailing List, Andrew Jeffery, Greg Kroah-Hartman,
Rob Herring, Lubomir Rintel, -, linux-serial
On Thu, 1 Apr 2021 at 00:57, Zev Weiss <zev@bewilderbeest.net> wrote:
>
> This property ties SIRQ polarity to SCU register bits that don't
> necessarily have any direct relationship to it; the only use of it
> was removed in commit c82bf6e133d30e0f9172a20807814fa28aef0f67.
>
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
> ---
> Documentation/devicetree/bindings/serial/8250.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> index f54cae9ff7b2..491b9297432d 100644
> --- a/Documentation/devicetree/bindings/serial/8250.yaml
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -188,6 +188,7 @@ properties:
> offset and bit number to identify how the SIRQ polarity should be
> configured. One possible data source is the LPC/eSPI mode bit. Only
> applicable to aspeed,ast2500-vuart.
> + deprecated: true
>
> required:
> - reg
> --
> 2.31.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high
2021-04-01 0:57 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high Zev Weiss
@ 2021-04-01 4:04 ` Andrew Jeffery
2021-04-01 4:57 ` Zev Weiss
2021-04-01 14:56 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed, sirq-active-high Rob Herring
1 sibling, 1 reply; 16+ messages in thread
From: Andrew Jeffery @ 2021-04-01 4:04 UTC (permalink / raw)
To: Zev Weiss, Joel Stanley
Cc: openbmc, linux-arm-kernel, linux-aspeed, linux-kernel,
Greg Kroah-Hartman, Rob Herring, Lubomir Rintel, -, linux-serial
On Thu, 1 Apr 2021, at 11:27, Zev Weiss wrote:
> This provides a simpler, more direct alternative to the deprecated
> aspeed,sirq-polarity-sense property for indicating the polarity of
> the Aspeed VUART's SIRQ line.
>
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> ---
> Documentation/devicetree/bindings/serial/8250.yaml | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml
> b/Documentation/devicetree/bindings/serial/8250.yaml
> index 491b9297432d..e79bb6ab9d2c 100644
> --- a/Documentation/devicetree/bindings/serial/8250.yaml
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -12,8 +12,9 @@ maintainers:
> allOf:
> - $ref: /schemas/serial.yaml#
> - if:
> - required:
> - - aspeed,sirq-polarity-sense
> + anyOf:
> + - required: [ aspeed,sirq-active-high ]
Do you think we could make use of the approach I put forward here?
https://lore.kernel.org/openbmc/20210319062752.145730-18-andrew@aj.id.au/T/#u
Andrew
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity
2021-04-01 0:57 ` [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity Zev Weiss
@ 2021-04-01 4:15 ` Joel Stanley
2021-04-01 5:18 ` Zev Weiss
0 siblings, 1 reply; 16+ messages in thread
From: Joel Stanley @ 2021-04-01 4:15 UTC (permalink / raw)
To: Zev Weiss, Jeremy Kerr
Cc: OpenBMC Maillist, Linux ARM, linux-aspeed,
Linux Kernel Mailing List, Andrew Jeffery, Greg Kroah-Hartman,
Jiri Slaby, linux-serial
On Thu, 1 Apr 2021 at 00:57, Zev Weiss <zev@bewilderbeest.net> wrote:
>
> This provides a simple boolean to use instead of the deprecated
> aspeed,sirq-polarity-sense property.
>
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> ---
> drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
> index c33e02cbde93..e5ef9f957f9a 100644
> --- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
> +++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
> @@ -482,6 +482,9 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
> of_node_put(sirq_polarity_sense_args.np);
> }
>
> + if (of_property_read_bool(np, "aspeed,sirq-active-high"))
> + aspeed_vuart_set_sirq_polarity(vuart, 1);
This assumes the default is always low, so we don't need a property to
set it to that state?
Would it make more sense to have the property describe if it's high or
low? (I'm happy for the answer to be "no", as we've gotten by for the
past few years without it).
This brings up another point. We already have the sysfs file for
setting the lpc address, from userspace. In OpenBMC land this can be
set with obmc-console-client (/etc/obmc-console.conf). Should we add
support to that application for setting the irq polarity too, and do
away with device tree descriptions?
> +
> aspeed_vuart_set_enabled(vuart, true);
> aspeed_vuart_set_host_tx_discard(vuart, true);
> platform_set_drvdata(pdev, vuart);
> --
> 2.31.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high
2021-04-01 4:04 ` Andrew Jeffery
@ 2021-04-01 4:57 ` Zev Weiss
0 siblings, 0 replies; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 4:57 UTC (permalink / raw)
To: Andrew Jeffery
Cc: Joel Stanley, openbmc, linux-arm-kernel, linux-aspeed,
linux-kernel, Greg Kroah-Hartman, Rob Herring, Lubomir Rintel, -,
linux-serial
On Wed, Mar 31, 2021 at 11:04:44PM CDT, Andrew Jeffery wrote:
>
>
>On Thu, 1 Apr 2021, at 11:27, Zev Weiss wrote:
>> This provides a simpler, more direct alternative to the deprecated
>> aspeed,sirq-polarity-sense property for indicating the polarity of
>> the Aspeed VUART's SIRQ line.
>>
>> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
>> ---
>> Documentation/devicetree/bindings/serial/8250.yaml | 13 ++++++++++---
>> 1 file changed, 10 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml
>> b/Documentation/devicetree/bindings/serial/8250.yaml
>> index 491b9297432d..e79bb6ab9d2c 100644
>> --- a/Documentation/devicetree/bindings/serial/8250.yaml
>> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
>> @@ -12,8 +12,9 @@ maintainers:
>> allOf:
>> - $ref: /schemas/serial.yaml#
>> - if:
>> - required:
>> - - aspeed,sirq-polarity-sense
>> + anyOf:
>> + - required: [ aspeed,sirq-active-high ]
>
>Do you think we could make use of the approach I put forward here?
>
>https://lore.kernel.org/openbmc/20210319062752.145730-18-andrew@aj.id.au/T/#u
>
>Andrew
If you mean using a u32 property (say aspeed,sirq-polarity) with an
explicit IRQ_TYPE_LEVEL_{LOW,HIGH} instead of a present/absent bool,
sure, I guess that seems like a somewhat clearer, more orthogonal
arrangement.
Zev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity
2021-04-01 4:15 ` Joel Stanley
@ 2021-04-01 5:18 ` Zev Weiss
2021-04-01 5:34 ` Andrew Jeffery
0 siblings, 1 reply; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 5:18 UTC (permalink / raw)
To: Joel Stanley
Cc: Jeremy Kerr, OpenBMC Maillist, Linux ARM, linux-aspeed,
Linux Kernel Mailing List, Andrew Jeffery, Greg Kroah-Hartman,
Jiri Slaby, linux-serial
On Wed, Mar 31, 2021 at 11:15:44PM CDT, Joel Stanley wrote:
>On Thu, 1 Apr 2021 at 00:57, Zev Weiss <zev@bewilderbeest.net> wrote:
>>
>> This provides a simple boolean to use instead of the deprecated
>> aspeed,sirq-polarity-sense property.
>>
>> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
>> ---
>> drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> index c33e02cbde93..e5ef9f957f9a 100644
>> --- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> +++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> @@ -482,6 +482,9 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
>> of_node_put(sirq_polarity_sense_args.np);
>> }
>>
>> + if (of_property_read_bool(np, "aspeed,sirq-active-high"))
>> + aspeed_vuart_set_sirq_polarity(vuart, 1);
>
>This assumes the default is always low, so we don't need a property to
>set it to that state?
>
>Would it make more sense to have the property describe if it's high or
>low? (I'm happy for the answer to be "no", as we've gotten by for the
>past few years without it).
>
Yeah, that sounds like better way to approach it -- I think I'll
rearrange as Andrew suggested in
https://lore.kernel.org/openbmc/d66753ee-7db2-41e5-9fe5-762b1ab678bc@www.fastmail.com/
>This brings up another point. We already have the sysfs file for
>setting the lpc address, from userspace. In OpenBMC land this can be
>set with obmc-console-client (/etc/obmc-console.conf). Should we add
>support to that application for setting the irq polarity too, and do
>away with device tree descriptions?
>
I guess I might lean slightly toward keeping the DT description so that
if for whatever reason obmc-console-server flakes out and doesn't start
you're better positioned to try banging on /dev/ttyS* manually if you're
desperate. Though I suppose that in turn might imply that I'm arguing
for adding DT properties for lpc_address and sirq too, and if you're
really that desperate you can just fiddle with sysfs anyway, so...shrug?
I could be convinced either way fairly easily.
Zev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity
2021-04-01 5:18 ` Zev Weiss
@ 2021-04-01 5:34 ` Andrew Jeffery
2021-04-01 7:36 ` Zev Weiss
0 siblings, 1 reply; 16+ messages in thread
From: Andrew Jeffery @ 2021-04-01 5:34 UTC (permalink / raw)
To: Zev Weiss, Joel Stanley
Cc: Jeremy Kerr, OpenBMC Maillist, Linux ARM, linux-aspeed,
Linux Kernel Mailing List, Greg Kroah-Hartman, Jiri Slaby,
linux-serial
On Thu, 1 Apr 2021, at 15:48, Zev Weiss wrote:
> On Wed, Mar 31, 2021 at 11:15:44PM CDT, Joel Stanley wrote:
> >On Thu, 1 Apr 2021 at 00:57, Zev Weiss <zev@bewilderbeest.net> wrote:
> >>
> >> This provides a simple boolean to use instead of the deprecated
> >> aspeed,sirq-polarity-sense property.
> >>
> >> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> >> ---
> >> drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
> >> index c33e02cbde93..e5ef9f957f9a 100644
> >> --- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
> >> +++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
> >> @@ -482,6 +482,9 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
> >> of_node_put(sirq_polarity_sense_args.np);
> >> }
> >>
> >> + if (of_property_read_bool(np, "aspeed,sirq-active-high"))
> >> + aspeed_vuart_set_sirq_polarity(vuart, 1);
> >
> >This assumes the default is always low, so we don't need a property to
> >set it to that state?
> >
> >Would it make more sense to have the property describe if it's high or
> >low? (I'm happy for the answer to be "no", as we've gotten by for the
> >past few years without it).
> >
>
> Yeah, that sounds like better way to approach it -- I think I'll
> rearrange as Andrew suggested in
> https://lore.kernel.org/openbmc/d66753ee-7db2-41e5-9fe5-762b1ab678bc@www.fastmail.com/
>
> >This brings up another point. We already have the sysfs file for
> >setting the lpc address, from userspace. In OpenBMC land this can be
> >set with obmc-console-client (/etc/obmc-console.conf). Should we add
> >support to that application for setting the irq polarity too, and do
> >away with device tree descriptions?
> >
>
> I guess I might lean slightly toward keeping the DT description so that
> if for whatever reason obmc-console-server flakes out and doesn't start
> you're better positioned to try banging on /dev/ttyS* manually if you're
> desperate. Though I suppose that in turn might imply that I'm arguing
> for adding DT properties for lpc_address and sirq too,
Why not just adopt exactly what I've done with KCS, where we have aspeed,lpc-io-reg and aspeed,lpc-interrupts?
Andrew
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity
2021-04-01 5:34 ` Andrew Jeffery
@ 2021-04-01 7:36 ` Zev Weiss
0 siblings, 0 replies; 16+ messages in thread
From: Zev Weiss @ 2021-04-01 7:36 UTC (permalink / raw)
To: Andrew Jeffery
Cc: Joel Stanley, Jeremy Kerr, OpenBMC Maillist, Linux ARM,
linux-aspeed, Linux Kernel Mailing List, Greg Kroah-Hartman,
Jiri Slaby, linux-serial
On Thu, Apr 01, 2021 at 12:34:04AM CDT, Andrew Jeffery wrote:
>
>
>On Thu, 1 Apr 2021, at 15:48, Zev Weiss wrote:
>> On Wed, Mar 31, 2021 at 11:15:44PM CDT, Joel Stanley wrote:
>> >On Thu, 1 Apr 2021 at 00:57, Zev Weiss <zev@bewilderbeest.net> wrote:
>> >>
>> >> This provides a simple boolean to use instead of the deprecated
>> >> aspeed,sirq-polarity-sense property.
>> >>
>> >> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
>> >> ---
>> >> drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 +++
>> >> 1 file changed, 3 insertions(+)
>> >>
>> >> diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> >> index c33e02cbde93..e5ef9f957f9a 100644
>> >> --- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> >> +++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
>> >> @@ -482,6 +482,9 @@ static int aspeed_vuart_probe(struct platform_device *pdev)
>> >> of_node_put(sirq_polarity_sense_args.np);
>> >> }
>> >>
>> >> + if (of_property_read_bool(np, "aspeed,sirq-active-high"))
>> >> + aspeed_vuart_set_sirq_polarity(vuart, 1);
>> >
>> >This assumes the default is always low, so we don't need a property to
>> >set it to that state?
>> >
>> >Would it make more sense to have the property describe if it's high or
>> >low? (I'm happy for the answer to be "no", as we've gotten by for the
>> >past few years without it).
>> >
>>
>> Yeah, that sounds like better way to approach it -- I think I'll
>> rearrange as Andrew suggested in
>> https://lore.kernel.org/openbmc/d66753ee-7db2-41e5-9fe5-762b1ab678bc@www.fastmail.com/
>>
>> >This brings up another point. We already have the sysfs file for
>> >setting the lpc address, from userspace. In OpenBMC land this can be
>> >set with obmc-console-client (/etc/obmc-console.conf). Should we add
>> >support to that application for setting the irq polarity too, and do
>> >away with device tree descriptions?
>> >
>>
>> I guess I might lean slightly toward keeping the DT description so that
>> if for whatever reason obmc-console-server flakes out and doesn't start
>> you're better positioned to try banging on /dev/ttyS* manually if you're
>> desperate. Though I suppose that in turn might imply that I'm arguing
>> for adding DT properties for lpc_address and sirq too,
>
>Why not just adopt exactly what I've done with KCS, where we have aspeed,lpc-io-reg and aspeed,lpc-interrupts?
>
>Andrew
Ah -- yes, that does sound like a sensible approach. I'll send a v3
with that worked in.
Zev
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed, sirq-active-high
2021-04-01 0:57 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high Zev Weiss
2021-04-01 4:04 ` Andrew Jeffery
@ 2021-04-01 14:56 ` Rob Herring
1 sibling, 0 replies; 16+ messages in thread
From: Rob Herring @ 2021-04-01 14:56 UTC (permalink / raw)
To: Zev Weiss
Cc: Rob Herring, -, Greg Kroah-Hartman, linux-kernel, linux-aspeed,
Andrew Jeffery, openbmc, linux-serial, linux-arm-kernel,
Joel Stanley, Lubomir Rintel
On Wed, 31 Mar 2021 19:57:02 -0500, Zev Weiss wrote:
> This provides a simpler, more direct alternative to the deprecated
> aspeed,sirq-polarity-sense property for indicating the polarity of
> the Aspeed VUART's SIRQ line.
>
> Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
> ---
> Documentation/devicetree/bindings/serial/8250.yaml | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
./Documentation/devicetree/bindings/serial/8250.yaml:16:30: [warning] too few spaces after comma (commas)
./Documentation/devicetree/bindings/serial/8250.yaml:17:30: [warning] too few spaces after comma (commas)
dtschema/dtc warnings/errors:
See https://patchwork.ozlabs.org/patch/1460791
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-04-01 17:45 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20210330002338.335-1-zev@bewilderbeest.net>
2021-03-30 0:23 ` [PATCH 1/3] drivers/tty/serial/8250: simplify Aspeed VUART SIRQ polarity DT config Zev Weiss
2021-03-30 0:23 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Zev Weiss
2021-03-30 22:39 ` Rob Herring
2021-03-30 23:04 ` Zev Weiss
[not found] ` <20210401005702.28271-1-zev@bewilderbeest.net>
2021-04-01 0:57 ` [PATCH v2 1/3] dt-bindings: serial: 8250: deprecate aspeed,sirq-polarity-sense Zev Weiss
2021-04-01 3:53 ` Joel Stanley
2021-04-01 0:57 ` [PATCH v2 2/3] drivers/tty/serial/8250: add DT property for aspeed vuart sirq polarity Zev Weiss
2021-04-01 4:15 ` Joel Stanley
2021-04-01 5:18 ` Zev Weiss
2021-04-01 5:34 ` Andrew Jeffery
2021-04-01 7:36 ` Zev Weiss
2021-04-01 0:57 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed,sirq-active-high Zev Weiss
2021-04-01 4:04 ` Andrew Jeffery
2021-04-01 4:57 ` Zev Weiss
2021-04-01 14:56 ` [PATCH v2 3/3] dt-bindings: serial: 8250: add aspeed, sirq-active-high Rob Herring
2021-03-30 23:26 ` [PATCH 2/3] dt-bindings: serial: 8250: update for aspeed,sirq-active-high Joel Stanley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox