On Allwinner H3, currently we can use UART0 for debug/console port.
To use UART1-3 port, we have to make proper device tree blob
and fix kernel code like this.

- com_fdt.c needs to add reset signal de-assert code
- sciccmu_clocks.h requires to add reset signal definition

If there is no problem, I want to commit.

Index: com_fdt.c
===================================================================
RCS file: /cvs/src/sys/dev/fdt/com_fdt.c,v
retrieving revision 1.3
diff -u -p -r1.3 com_fdt.c
--- com_fdt.c   6 Aug 2018 10:52:30 -0000       1.3
+++ com_fdt.c   23 Mar 2020 13:02:26 -0000
@@ -105,6 +105,7 @@ com_fdt_attach(struct device *parent, st
                return;
 
        clock_enable(faa->fa_node, NULL);
+       reset_deassert_all(faa->fa_node);
 
        /*
         * Determine the clock frequency after enabling the clock.
Index: sxiccmu_clocks.h
===================================================================
RCS file: /cvs/src/sys/dev/fdt/sxiccmu_clocks.h,v
retrieving revision 1.28
diff -u -p -r1.28 sxiccmu_clocks.h
--- sxiccmu_clocks.h    20 Sep 2019 22:42:05 -0000      1.28
+++ sxiccmu_clocks.h    23 Mar 2020 13:02:26 -0000
@@ -746,6 +746,10 @@ struct sxiccmu_ccu_bit sun9i_a80_mmc_res
 #define H3_RST_BUS_I2C0                46
 #define H3_RST_BUS_I2C1                47
 #define H3_RST_BUS_I2C2                48
+#define H3_RST_BUS_UART0       49
+#define H3_RST_BUS_UART1       50
+#define H3_RST_BUS_UART2       51
+#define H3_RST_BUS_UART3       52
 
 struct sxiccmu_ccu_bit sun8i_h3_resets[] = {
        [H3_RST_USB_PHY0] =  { 0x00cc, 0 },
@@ -769,6 +773,10 @@ struct sxiccmu_ccu_bit sun8i_h3_resets[]
        [H3_RST_BUS_I2C0]  = { 0x02d8, 0 },
        [H3_RST_BUS_I2C1]  = { 0x02d8, 1 },
        [H3_RST_BUS_I2C2]  = { 0x02d8, 2 },
+       [H3_RST_BUS_UART0] = { 0x02d8, 16 },
+       [H3_RST_BUS_UART1] = { 0x02d8, 17 },
+       [H3_RST_BUS_UART2] = { 0x02d8, 18 },
+       [H3_RST_BUS_UART3] = { 0x02d8, 19 },
 };
 
 #define H3_R_RST_APB0_RSB      2

-- 
SASANO Takayoshi (JG1UAA) <u...@cvs.openbsd.org>

Reply via email to