Another interesting part of the Raspberry Pi VideoCore blob is that it implements DRM for Raspberry Pi products: the Pi Camera V2 has an Atmel ATSHA204A CryptoAuthentication chip on it and uses an HMAC+nonce challenge/response system to authenticate with the VideoCore blob when it goes to bring up the CSI interface. Marcan42 dumped the keys from the VideoCore blob and documented the system a few years ago.
According to the Pi Foundation, this is because simple peripherals are too easy to clone and they need to recoup their investment in accessory design.
I was reminded of this while I was researching Twitter speculation yesterday that something similar is done for the DSI interface for displays. I wasn't able to substantiate this - the FKMS (FakeKMS/FirmwareKMS) and proprietary Raspberry Pi video drivers, where link negotiation and backlight control is done in the blob, do only support specific displays. However, it's unclear to me if this is due to driver support or an intentional lock-in. The open-source KMS driver (not yet usable on Raspberry Pi 4) where link negotiation and backlight control is done in the kernel, of course supports anything with a driver.
According to the Pi Foundation, this is because simple peripherals are too easy to clone and they need to recoup their investment in accessory design.
I was reminded of this while I was researching Twitter speculation yesterday that something similar is done for the DSI interface for displays. I wasn't able to substantiate this - the FKMS (FakeKMS/FirmwareKMS) and proprietary Raspberry Pi video drivers, where link negotiation and backlight control is done in the blob, do only support specific displays. However, it's unclear to me if this is due to driver support or an intentional lock-in. The open-source KMS driver (not yet usable on Raspberry Pi 4) where link negotiation and backlight control is done in the kernel, of course supports anything with a driver.