You do have to manually specify which type of sensor is on each of the ports, but it also supports having different sensors on each port (unlike when used with the firmware).
Help text at https://github.com/raspberrypi/linux/bl ... EADME#L689
eg IMX219 on CAMERA A, and IMX477 on CAMERA B of a Doubleplexer
Code: Select all
dtoverlay=camera-mux-2port,cam0-imx219,cam1-imx477
Code: Select all
dtoverlay=camera-mux-4port,cam0-imx219,cam1-imx477,cam2-ov9281,cam3-ov5647
- The Arducam boards bridge the camera/display I2C bus with i2c-1 (GPIOs 2&3). Be careful also using i2c-1, or cut the two traces from pins 4 & 6 of the header connection.
- The ordering of the sensors in libcamera is dictate by probe order, and can end up being near random. We will look into whether this can be solved in the kernel, or allow choosing the camera via an alternative to index (eg device name).
- I've only included the sensors that Raspberry Pi provide support for. Third parties can add their modules if following the same pattern, but we're not taking on the support burden for them.
It hasn't changed that the sensors can only be run sequentially, not simultaneously.
The same mechanism can not be used to support the Waveshare Camera Scheduler as that switches CSI and I2C via the same GPIO, and can't currently be made to work with the kernel mux framework.
The kernel changes are largely merged, except I missed one module option so it's not fully hit rpi-update as yet.
Feel free to report issues.