Skip to content

[PW_SID:1086567] serial: 8250_dw: Add support for UltraRISC DP1000 UART#1827

Closed
linux-riscv-bot wants to merge 4 commits into
workflow__riscv__fixesfrom
pw1086567
Closed

[PW_SID:1086567] serial: 8250_dw: Add support for UltraRISC DP1000 UART#1827
linux-riscv-bot wants to merge 4 commits into
workflow__riscv__fixesfrom
pw1086567

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 1086567 applied to workflow__riscv__fixes

Name: serial: 8250_dw: Add support for UltraRISC DP1000 UART
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1086567
Version: 5

Move the DW_UART_* register offsets and CPR bit/field definitions from
8250_dwlib.c into 8250_dwlib.h so they can be shared by 8250_dw and
8250_dwlib users.

Add an include guard for 8250_dwlib.h.

Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
…nitions

Replace the magic CPR value for Renesas RZ/N1 with a composition using
DW_UART_CPR_* bit/field definitions and FIELD_PREP_CONST().

Introduce a helper macro to convert a FIFO size (bytes) into the CPR
FIFO_MODE field value, with BUILD_BUG_ON_ZERO() checks for alignment and
bounds. Use it to replace the literal FIFO_MODE values in the RZN1.

Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
UltraRISC DP1000 integrates a Synopsys DesignWare APB UART, but it does
not provide the standard CPR and UCV registers.

Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The UltraRISC DP1000 UART does not provide the standard CPR register used
by 8250_dw to discover port capabilities.

Provide a fixed CPR value for the DP1000-specific compatible so the
driver can configure the port correctly.

Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 136.33 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 924.52 seconds
Result: ERROR
Output:

Redirect to /build/tmp.6vTwrOAM91 and /build/tmp.Ilu08oNUkC
Tree base:
01805bc4f902e ("Adding CI files")
Building the whole tree with the patch
error:
Warning: /build/tmp_ng93zoy/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:244 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_bytes_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_bytes_unaligned'; recompile with -fPIC



real	15m15.985s
user	573m26.522s
sys	106m46.392s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1383.34 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.06 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.62 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.34 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
kdoc
Desc: Detects for kdoc errors
Duration: 0.90 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v5,1/4] serial: 8250_dwlib: move DesignWare register definitions to header"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 136.09 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 928.50 seconds
Result: ERROR
Output:

Redirect to /build/tmp.U49ECx3miv and /build/tmp.Mr3AR1jSTr
Tree base:
1e4bd8a87a9d8 ("serial: 8250_dwlib: move DesignWare register definitions to header")
Building the whole tree with the patch
error:
Warning: /build/tmpfw1k6zs3/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:244 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_bytes_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_bytes_unaligned'; recompile with -fPIC



real	15m19.828s
user	576m4.154s
sys	107m4.285s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1380.10 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.15 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.54 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.98 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.68 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
kdoc
Desc: Detects for kdoc errors
Duration: 0.85 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v5,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 136.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 925.62 seconds
Result: ERROR
Output:

Redirect to /build/tmp.ozN4VedGzl and /build/tmp.uHrdov1mqR
Tree base:
1c4ac56c5f99e ("serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions")
Building the whole tree with the patch
error:
Warning: /build/tmpqffcr4r4/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:244 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_bytes_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_bytes_unaligned'; recompile with -fPIC



real	15m17.042s
user	574m10.229s
sys	106m49.288s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1346.35 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 24.96 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 25.98 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.72 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 84.79 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
kdoc
Desc: Detects for kdoc errors
Duration: 0.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v5,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 135.67 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 927.36 seconds
Result: ERROR
Output:

Redirect to /build/tmp.CPKiwfWEwG and /build/tmp.zdgzcdOI1U
Tree base:
fff6fcca732fe ("dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART")
Building the whole tree with the patch
error:
Warning: /build/tmp94cfauce/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c:244 struct __packed mtk_mfg_opp_entry { __le32 freq_khz; __le32 voltage_core; __le32 voltage_sram; __le32 posdiv; __le32 voltage_margin; __le32 power_mw; }; error: Cannot parse struct or union!
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_vec_bytes_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_words_unaligned'; recompile with -fPIC
ld.lld: error: relocation R_RISCV_32 cannot be used against symbol '__kcfi_typeid___riscv_copy_bytes_unaligned'; recompile with -fPIC



real	15m18.947s
user	572m28.976s
sys	106m36.119s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1377.92 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.16 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 25.78 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.10 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 85.38 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
kdoc
Desc: Detects for kdoc errors
Duration: 0.86 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v5,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot deleted the pw1086567 branch April 29, 2026 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants