Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: UART question
Lloyd Parkes <lloyd%must-have-coffee.gen.nz@localhost> wrote:
> On Mon, 2025-07-07 at 20:03 +0000, Vincent DEFERT wrote:
>> Is there something special I should do to bind mesonuart0 to a device
>> under /dev?
>
> A quick check of the PC serial port support shows that it calls
> com_attach_subr().
>
> Maybe that's the function you are looking for. Maybe it's a function
> that calls the function you are looking for. https://nxr.netbsd.org/
> should help.
The driver for the meson uart works fine, it is what provides the
serial console, it isn't related to com.c.
I suspect that nobody has ever used the uarts for anything other than
the console on an amlogic system.
The driver allocates a major number at runtime but doesn't print it,
the patch below generates this for me:
mesonuart0 at simplebus6: console
mesonuart0: interrupting on GIC irq 225
mesonuart0: major 368
You could create /dev/ttyXX nodes with whatever major is picked and
try that but we need something better in the long term.
I don't see why we need to reserve a major number for each different
builtin uart, only one of them will ever be attached for a given SoC, we
could reserve a major for 'socuart' and reuse it for all the non-com.c
uart drivers.
I also think we also have a mismatch between userland and the kernel of
major numbers for evbarm, /dev/MAKEDEV is always built from majors.arm32
but an aarch64 kernel uses majors.aarch64.
Index: meson_uart.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/amlogic/meson_uart.c,v
retrieving revision 1.7
diff -u -r1.7 meson_uart.c
--- meson_uart.c 26 Oct 2022 23:38:06 -0000 1.7
+++ meson_uart.c 7 Jul 2025 21:46:13 -0000
@@ -233,6 +233,7 @@
aprint_normal("\n");
aprint_normal_dev(self, "interrupting on %s\n", intrstr);
+ aprint_normal_dev(self, "major %d\n", meson_uart_cmajor);
misc = bus_space_read_4(sc->sc_bst, sc->sc_bsh, UART_MISC_REG);
misc &= ~UART_MISC_TX_IRQ_CNT;
Home |
Main Index |
Thread Index |
Old Index