| 1) Write a DT binding doc and get the corresponding DT node merged to |
| bcm2835. |
| |
| This will let the driver probe when enabled. |
| |
| 2) Import drivers using VCHI. |
| |
| VCHI is just a tool to let drivers talk to the firmware. Here are |
| some of the ones we want: |
| |
| - vc_mem (https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/char/broadcom/vc_mem.c) |
| |
| This driver is what the vcdbg userspace program uses to set up its |
| requests to the firmware, which are transmitted across VCHIQ. vcdbg |
| is really useful for debugging firmware interactions. |
| |
| - bcm2835-camera (https://github.com/raspberrypi/linux/tree/rpi-4.4.y/drivers/media/platform/bcm2835) |
| |
| This driver will let us get images from the camera using the MMAL |
| protocol over VCHI. |
| |
| - VCSM (https://github.com/raspberrypi/linux/tree/rpi-4.4.y/drivers/char/broadcom/vc_sm) |
| |
| This driver is used for talking about regions of VC memory across |
| firmware protocols including VCHI. We'll want to extend this driver |
| to manage these buffers as dmabufs so that we can zero-copy import |
| camera images into vc4 for rendering/display. |
| |
| 3) Garbage-collect unused code |
| |
| One of the reasons this driver wasn't upstreamed previously was that |
| there's a lot code that got built that's probably unnecessary these |
| days. Once we have the set of VCHI-using drivers we want in tree, we |
| should be able to do a sweep of the code to see what's left that's |
| unused. |