60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# OVERLAYS
|
|
1. copy the `*.dtbo`` files in the overlay directory into the boot partition
|
|
2. add two config files into the boot partion, let's call them `sensing.txt`
|
|
and `dualeth.txt`
|
|
Contents:
|
|
`sensing.txt`
|
|
```
|
|
dtparam=i2c_arm=on
|
|
enable_uart=1
|
|
|
|
dtoverlay=ed-sdhost
|
|
dtoverlay=i2c-rtc,pcf8563
|
|
|
|
dtoverlay=spi1-1cs
|
|
dtparam=cs0_pin=18,cs0_spidev=disabled
|
|
dtoverlay=ed-mcp2515-spi1-can0
|
|
dtoverlay=uart2
|
|
dtoverlay=uart3
|
|
dtoverlay=uart4
|
|
dtoverlay=uart5
|
|
gpio=11=op,dl
|
|
[all]
|
|
|
|
[cm4]
|
|
otg_mode=1
|
|
```
|
|
|
|
`dualeth.txt`
|
|
```
|
|
dtparam=i2c_vc=on
|
|
dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
|
|
|
|
[all]
|
|
|
|
[cm4]
|
|
otg_mode=1
|
|
```
|
|
|
|
These config files activate some external devices, mainly the RTC, but I have
|
|
two different board which have use different RTCs. The `dualeth` seems to have
|
|
the same one as the official CM4 IO Board, the `sensing` one has a different
|
|
one. Then I'll just `include` the corresponding file in the `config.txt` after
|
|
flashing the image.
|
|
|
|
# DRIVERS
|
|
1. driver `i2c-brcmstb` (option `CONFIG_I2C_BRCMSTB`) is missing:
|
|
```
|
|
grep -r CONFIG_I2C_BRCMSTB
|
|
./build_dir/target-aarch64_cortex-a72_musl/linux-bcm27xx_bcm2711/linux-5.10.146/.config:# CONFIG_I2C_BRCMSTB is not set
|
|
./target/linux/bcm27xx/bcm2710/config-5.10:# CONFIG_I2C_BRCMSTB is not set
|
|
./target/linux/bcm27xx/bcm2711/config-5.10:# CONFIG_I2C_BRCMSTB is not set
|
|
./target/linux/bcm27xx/bcm2708/config-5.10:# CONFIG_I2C_BRCMSTB is not set
|
|
./target/linux/bcm27xx/bcm2709/config-5.10:# CONFIG_I2C_BRCMSTB is not set
|
|
```
|
|
|
|
This is needed for the RTC to work. On Raspberry OS it's inside the kernel and
|
|
this is actually making the RTC i2c available. On openwrt I can't see the I2C
|
|
interface, and I think it's because this driver is missing. I don't care if
|
|
it's inside the kernel or as amodule as long as it's on the image.
|