* [PATCH 0/2] serial: 8250_dw: Add support for UltraRISC DP1000 uart
@ 2026-03-16 1:36 Jia Wang
2026-03-16 1:36 ` [PATCH 1/2] riscv: ultrarisc: 8250_dw: support " Jia Wang
2026-03-16 1:36 ` [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart Jia Wang
0 siblings, 2 replies; 7+ messages in thread
From: Jia Wang @ 2026-03-16 1:36 UTC (permalink / raw)
To: Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman,
Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-kernel, linux-serial, linux-riscv, devicetree, Jia Wang,
Zhang Xincheng
This patch series adds support for the UltraRISC DP1000 UART controller.
The series includes two patches:
1. Update device tree bindings to document the DP1000 UART compatible string
and required properties.
2. Add driver support in the 8250_dw driver by handling the DP1000-specific
initialization and configuration.
The patches have been tested on Ultrarisc DP1000 development board with
Linux 7.0-rc2, verifying basic UART functionality and runtime suspend/resume.
Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
---
Jia Wang (1):
dt-bindings: serial: update bindings of ultrarisc dp1000 uart
Zhang Xincheng (1):
riscv: ultrarisc: 8250_dw: support DP1000 uart
.../devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 ++
drivers/tty/serial/8250/8250_dw.c | 12 ++++++++++++
2 files changed, 14 insertions(+)
---
base-commit: af4e9ef3d78420feb8fe58cd9a1ab80c501b3c08
change-id: 20260309-ultrarisc-serial-64ff637edf26
Best regards,
--
Jia Wang <wangjia@ultrarisc.com>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/2] riscv: ultrarisc: 8250_dw: support DP1000 uart 2026-03-16 1:36 [PATCH 0/2] serial: 8250_dw: Add support for UltraRISC DP1000 uart Jia Wang @ 2026-03-16 1:36 ` Jia Wang 2026-03-16 11:22 ` Conor Dooley 2026-03-16 1:36 ` [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart Jia Wang 1 sibling, 1 reply; 7+ messages in thread From: Jia Wang @ 2026-03-16 1:36 UTC (permalink / raw) To: Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-kernel, linux-serial, linux-riscv, devicetree, Jia Wang, Zhang Xincheng From: Zhang Xincheng <zhangxincheng@ultrarisc.com> The UART of DP1000 does not support automatic detection of buffer size. skip_autocfg needs to be set to true Signed-off-by: Zhang Xincheng <zhangxincheng@ultrarisc.com> Signed-off-by: Jia Wang <wangjia@ultrarisc.com> --- drivers/tty/serial/8250/8250_dw.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c index db73b2ae17fa..6a2acf173331 100644 --- a/drivers/tty/serial/8250/8250_dw.c +++ b/drivers/tty/serial/8250/8250_dw.c @@ -56,6 +56,7 @@ #define DW_UART_QUIRK_IS_DMA_FC BIT(3) #define DW_UART_QUIRK_APMC0D08 BIT(4) #define DW_UART_QUIRK_CPR_VALUE BIT(5) +#define DW_UART_QUIRK_FIXED_TYPE BIT(6) struct dw8250_platform_data { u8 usr_reg; @@ -514,6 +515,11 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) data->data.dma.prepare_tx_dma = dw8250_prepare_tx_dma; data->data.dma.prepare_rx_dma = dw8250_prepare_rx_dma; } + if (quirks & DW_UART_QUIRK_FIXED_TYPE) { + p->flags |= UPF_FIXED_TYPE; + p->type = PORT_16550A; + data->skip_autocfg = true; + } if (quirks & DW_UART_QUIRK_APMC0D08) { p->iotype = UPIO_MEM32; p->regshift = 2; @@ -789,6 +795,11 @@ static const struct dw8250_platform_data dw8250_skip_set_rate_data = { .quirks = DW_UART_QUIRK_SKIP_SET_RATE, }; +static const struct dw8250_platform_data dw8250_ultrarisc_dp1000_data = { + .usr_reg = DW_UART_USR, + .quirks = DW_UART_QUIRK_FIXED_TYPE, +}; + static const struct of_device_id dw8250_of_match[] = { { .compatible = "snps,dw-apb-uart", .data = &dw8250_dw_apb }, { .compatible = "cavium,octeon-3860-uart", .data = &dw8250_octeon_3860_data }, @@ -796,6 +807,7 @@ static const struct of_device_id dw8250_of_match[] = { { .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data }, { .compatible = "sophgo,sg2044-uart", .data = &dw8250_skip_set_rate_data }, { .compatible = "starfive,jh7100-uart", .data = &dw8250_skip_set_rate_data }, + { .compatible = "ultrarisc,dp1000-uart", .data = &dw8250_ultrarisc_dp1000_data }, { /* Sentinel */ } }; MODULE_DEVICE_TABLE(of, dw8250_of_match); -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] riscv: ultrarisc: 8250_dw: support DP1000 uart 2026-03-16 1:36 ` [PATCH 1/2] riscv: ultrarisc: 8250_dw: support " Jia Wang @ 2026-03-16 11:22 ` Conor Dooley 0 siblings, 0 replies; 7+ messages in thread From: Conor Dooley @ 2026-03-16 11:22 UTC (permalink / raw) To: Jia Wang Cc: Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-kernel, linux-serial, linux-riscv, devicetree, Zhang Xincheng [-- Attachment #1.1: Type: text/plain, Size: 2778 bytes --] On Mon, Mar 16, 2026 at 09:36:18AM +0800, Jia Wang wrote: > From: Zhang Xincheng <zhangxincheng@ultrarisc.com> > > The UART of DP1000 does not support automatic detection of > buffer size. skip_autocfg needs to be set to true > > Signed-off-by: Zhang Xincheng <zhangxincheng@ultrarisc.com> > Signed-off-by: Jia Wang <wangjia@ultrarisc.com> $subject: riscv: ultrarisc: 8250_dw: support DP1000 uart Please update this to match other modifications to this file. "riscv: ultrariscv" doesn't belong at the start. > --- > drivers/tty/serial/8250/8250_dw.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c > index db73b2ae17fa..6a2acf173331 100644 > --- a/drivers/tty/serial/8250/8250_dw.c > +++ b/drivers/tty/serial/8250/8250_dw.c > @@ -56,6 +56,7 @@ > #define DW_UART_QUIRK_IS_DMA_FC BIT(3) > #define DW_UART_QUIRK_APMC0D08 BIT(4) > #define DW_UART_QUIRK_CPR_VALUE BIT(5) > +#define DW_UART_QUIRK_FIXED_TYPE BIT(6) > > struct dw8250_platform_data { > u8 usr_reg; > @@ -514,6 +515,11 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) > data->data.dma.prepare_tx_dma = dw8250_prepare_tx_dma; > data->data.dma.prepare_rx_dma = dw8250_prepare_rx_dma; > } > + if (quirks & DW_UART_QUIRK_FIXED_TYPE) { > + p->flags |= UPF_FIXED_TYPE; > + p->type = PORT_16550A; > + data->skip_autocfg = true; > + } > if (quirks & DW_UART_QUIRK_APMC0D08) { > p->iotype = UPIO_MEM32; > p->regshift = 2; > @@ -789,6 +795,11 @@ static const struct dw8250_platform_data dw8250_skip_set_rate_data = { > .quirks = DW_UART_QUIRK_SKIP_SET_RATE, > }; > > +static const struct dw8250_platform_data dw8250_ultrarisc_dp1000_data = { > + .usr_reg = DW_UART_USR, > + .quirks = DW_UART_QUIRK_FIXED_TYPE, > +}; > + > static const struct of_device_id dw8250_of_match[] = { > { .compatible = "snps,dw-apb-uart", .data = &dw8250_dw_apb }, > { .compatible = "cavium,octeon-3860-uart", .data = &dw8250_octeon_3860_data }, > @@ -796,6 +807,7 @@ static const struct of_device_id dw8250_of_match[] = { > { .compatible = "renesas,rzn1-uart", .data = &dw8250_renesas_rzn1_data }, > { .compatible = "sophgo,sg2044-uart", .data = &dw8250_skip_set_rate_data }, > { .compatible = "starfive,jh7100-uart", .data = &dw8250_skip_set_rate_data }, > + { .compatible = "ultrarisc,dp1000-uart", .data = &dw8250_ultrarisc_dp1000_data }, > { /* Sentinel */ } > }; > MODULE_DEVICE_TABLE(of, dw8250_of_match); > > -- > 2.34.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart 2026-03-16 1:36 [PATCH 0/2] serial: 8250_dw: Add support for UltraRISC DP1000 uart Jia Wang 2026-03-16 1:36 ` [PATCH 1/2] riscv: ultrarisc: 8250_dw: support " Jia Wang @ 2026-03-16 1:36 ` Jia Wang 2026-03-16 4:39 ` Yao Zi 2026-03-16 11:20 ` Conor Dooley 1 sibling, 2 replies; 7+ messages in thread From: Jia Wang @ 2026-03-16 1:36 UTC (permalink / raw) To: Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-kernel, linux-serial, linux-riscv, devicetree, Jia Wang Add UltraRISC vendor-prefix information Add DP1000 UART compatible information Signed-off-by: Jia Wang <wangjia@ultrarisc.com> --- Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml index 6efe43089a74..0040ed28e35b 100644 --- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml +++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml @@ -78,6 +78,8 @@ properties: - starfive,jh7100-uart - starfive,jh7110-uart - const: snps,dw-apb-uart + - items: + - const: ultrarisc,dp1000-uart - const: snps,dw-apb-uart reg: -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart 2026-03-16 1:36 ` [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart Jia Wang @ 2026-03-16 4:39 ` Yao Zi 2026-03-16 6:19 ` Jia Wang 2026-03-16 11:20 ` Conor Dooley 1 sibling, 1 reply; 7+ messages in thread From: Yao Zi @ 2026-03-16 4:39 UTC (permalink / raw) To: Jia Wang, Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: linux-kernel, linux-serial, linux-riscv, devicetree On Mon, Mar 16, 2026 at 09:36:19AM +0800, Jia Wang wrote: > Add UltraRISC vendor-prefix information You don't add any new vendor prefixes in this patch. This commit message should probably be updated. > Add DP1000 UART compatible information > > Signed-off-by: Jia Wang <wangjia@ultrarisc.com> And the dt-bindings patch should go before the driver changes. > --- > Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 ++ > 1 file changed, 2 insertions(+) Best regards, Yao Zi _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart 2026-03-16 4:39 ` Yao Zi @ 2026-03-16 6:19 ` Jia Wang 0 siblings, 0 replies; 7+ messages in thread From: Jia Wang @ 2026-03-16 6:19 UTC (permalink / raw) To: Yao Zi Cc: Jia Wang, Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-kernel, linux-serial, linux-riscv, devicetree On 2026-03-16 04:39 +0000, Yao Zi wrote: > On Mon, Mar 16, 2026 at 09:36:19AM +0800, Jia Wang wrote: > > Add UltraRISC vendor-prefix information > > You don't add any new vendor prefixes in this patch. This commit message > should probably be updated. > > > Add DP1000 UART compatible information > > > > Signed-off-by: Jia Wang <wangjia@ultrarisc.com> > > And the dt-bindings patch should go before the driver changes. > Thanks for the review! I will update the commit message in v2 as suggested, and reorder the dt-bindings patch before the driver changes. Best regards, Jia Wang > > --- > > Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 ++ > > 1 file changed, 2 insertions(+) > > Best regards, > Yao Zi > _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart 2026-03-16 1:36 ` [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart Jia Wang 2026-03-16 4:39 ` Yao Zi @ 2026-03-16 11:20 ` Conor Dooley 1 sibling, 0 replies; 7+ messages in thread From: Conor Dooley @ 2026-03-16 11:20 UTC (permalink / raw) To: Jia Wang Cc: Ilpo Järvinen, Andy Shevchenko, Greg Kroah-Hartman, Jiri Slaby, Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-kernel, linux-serial, linux-riscv, devicetree [-- Attachment #1.1: Type: text/plain, Size: 1148 bytes --] On Mon, Mar 16, 2026 at 09:36:19AM +0800, Jia Wang wrote: > Add UltraRISC vendor-prefix information > Add DP1000 UART compatible information $subject: update bindings of ultrarisc dp1000 uart You're not updating, you're adding it. > > Signed-off-by: Jia Wang <wangjia@ultrarisc.com> > --- > Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml > index 6efe43089a74..0040ed28e35b 100644 > --- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml > +++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml > @@ -78,6 +78,8 @@ properties: > - starfive,jh7100-uart > - starfive,jh7110-uart > - const: snps,dw-apb-uart > + - items: > + - const: ultrarisc,dp1000-uart > - const: snps,dw-apb-uart This doesn't look right to me. An items list with one const is just the same as having "const", like the snps,dw-apb-uart entry below it. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-03-16 11:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-16 1:36 [PATCH 0/2] serial: 8250_dw: Add support for UltraRISC DP1000 uart Jia Wang 2026-03-16 1:36 ` [PATCH 1/2] riscv: ultrarisc: 8250_dw: support " Jia Wang 2026-03-16 11:22 ` Conor Dooley 2026-03-16 1:36 ` [PATCH 2/2] dt-bindings: serial: update bindings of ultrarisc dp1000 uart Jia Wang 2026-03-16 4:39 ` Yao Zi 2026-03-16 6:19 ` Jia Wang 2026-03-16 11:20 ` Conor Dooley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox