Welcome to the Linux Foundation Forum!

Wk2124 UART Expander Driver Porting From linux kernel -3.0.8 to kernel-5.5.6


Hello All,

I am working on Wk2114 UART Expander driver, which has UART to 4 UART Expander, have a driver, which is compatible for 3.0.8 kernel, so i am trying to port it for latest kernel 5.5.6 , had a issue in register mapping, In 3.0.8 kernel, no concept of dts file, so in the driver code itself they are defining the base address, but now i am changing he dts file, ie creating a child node for Main UART driver but still, i am not getting the ryt base address value, is there any suggestion guys. please find the dts file entry below. And serial probe function where i am reading the vlue.

uart1: serial@10011000 {
compatible = "sifive,fu540-c000-uart", "sifive,uart0";
reg = <0x0 0x10011000 0x0 0x1000>;
interrupt-parent = <&plic0>;
interrupts = <5>;
clocks = <&prci PRCI_CLK_TLCLK>;
status = "disabled";
wk2xx_uart {
compatible = "wkic,wk2xx_uart";
wk2114-uart = <&uart1>;
And my driver code i am reading value here

static int wkic_serial_probe(struct platform_device *pdev)

struct wk2xxx_port *s;
struct resource *mem;
void __iomem *base;
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, mem);
printk(KERN_ALERT "base memory value %ld\n", base);
return 0;



Upcoming Training