Skip to content

[PW_SID:1087342] serial: 8250_dw: Add support for UltraRISC DP1000 UART#1837

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

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

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 1087342 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=1087342
Version: 6

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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v6,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: 944.08 seconds
Result: ERROR
Output:

Redirect to /build/tmp.SjGo4e5vb9 and /build/tmp.2434u56tLh
Tree base:
01805bc4f902e ("Adding CI files")
Building the whole tree with the patch
error:
Warning: /build/tmpzm02qlj7/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	15m35.388s
user	574m30.543s
sys	128m33.513s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v6,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: 1391.12 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v6,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: 19.21 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v6,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: 20.62 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[v6,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.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: 944.89 seconds
Result: ERROR
Output:

Redirect to /build/tmp.SyeVbRDbWW and /build/tmp.fVcqnBCMPs
Tree base:
1d2d7b01b9aad ("serial: 8250_dwlib: move DesignWare register definitions to header")
Building the whole tree with the patch
error:
Warning: /build/tmpxofwc26_/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	15m36.333s
user	574m39.132s
sys	128m32.245s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: 1384.69 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: 19.19 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: 20.65 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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.80 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: 74.88 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[v6,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: "[v6,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.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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: 943.90 seconds
Result: ERROR
Output:

Redirect to /build/tmp.J0sXusEcYj and /build/tmp.aOsRy6ATzQ
Tree base:
01dca8d314729 ("serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions")
Building the whole tree with the patch
error:
Warning: /build/tmpag0ftpcs/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	15m35.351s
user	574m18.253s
sys	128m30.399s

@linux-riscv-bot linux-riscv-bot deleted the pw1087342 branch April 29, 2026 11:21
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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: 19.16 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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: 20.65 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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: "[v6,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART"
kdoc
Desc: Detects for kdoc errors
Duration: 0.87 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[v6,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: "[v6,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.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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: 942.85 seconds
Result: ERROR
Output:

Redirect to /build/tmp.cYS69a9yD0 and /build/tmp.7PsmR1OGhe
Tree base:
6a0ce2652dea2 ("dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART")
Building the whole tree with the patch
error:
Warning: /build/tmpsixhrxxo/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	15m34.207s
user	574m2.110s
sys	128m19.009s

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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: 1394.45 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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: 19.30 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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: 21.17 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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: 75.66 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

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

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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.23 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 4: "[v6,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.26 seconds
Result: PASS

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