Hello Mike,

Usually most of the "/dev/XXX" devices are registered at board level (in
xxx_bringup() call
https://github.com/apache/nuttx/blob/master/boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c
).
Enabling peripherals does not always lead to registration of "/dev/XXX"
node as drivers may be used in much complex hierarchy, so that is
definitely a board level decision.
With UARTs it is a bit different as "/dev/ttySX" nodes are usually
registered at "xxx_serialinit()" (like "xtensa_serialinit()" for esp32s3
for example), so you do not need to register that at board level. You can
check in the code the exact conditions that have to be met for registration
to happen in "xxx_serialinit()".

Best regards,
Petro

пн, 18 вер. 2023 р. о 21:42 Mike Moretti <nu...@mordent.com.invalid> пише:

> Hi,
>
> There are a bunch of configuration options for various peripherals,
> uart0,1,2, i2c0,1, spi0,1...  It appears that enabling say UART1 or
> UART2 (and configuring their pins) doesn't actually automatically
> register it as a ttyS in /devices.  Is there some reason for this? Do I
> have to manually register every uart other than uart0/ttyS0 in order to
> use it with as a character device via file i/o?  This just seems like
> some kind of oversight to me.  I've seen that if I enable I2C0 it shows
> up in /dev as /dev/i2c0.  SPI devices don't seem to show up either.  I
> have SPI2 enabled but see no spi device in /dev at all.  I don't see
> anything in the documentation about this and am just trying to figure
> out what we're expected to do to be able to access these devices.
>
> Thanks,
> -m
>
>
>

Reply via email to