From 4a40d1d280c150ff251868a756d4f49d560fc7e8 Mon Sep 17 00:00:00 2001 From: patjak Date: Wed, 12 Nov 2014 12:22:44 -0800 Subject: [PATCH] Move most of the wiki to the "Home" page --- Home.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 27705f9..756cd84 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,59 @@ -Welcome to the bcwc_pcie wiki! +# Welcome to the bcwc_pcie wiki! +The goal of this project is to write a Linux driver for the Broadcom 1570 PCIe webcam. + +# Motivation +Get the webcam included in the current Macbooks (mid 2013 and later) working on Linux. +The webcam seems to be what Apple is shipping with their latest hardware. The switch from iSight to Broadcom is due to the increased bandwidth requirement for high definition video streaming. + +# Difficulties +It uses the PCIE bus rather than USB. The USB standard includes a generic interface for video devices but unfortunately PCI/PCIE does not. No documentation or official statement regarding a Linux driver has been given by Broadcom so far. + +# Approach +It's a mix of probing, reverse engineering, reading up on similar hardware, guessing, etc. + +# Current Status +The driver is not working and it is not recommended that you try it on real hardware unless you're a developer and you're fine with frying your (probably expensive) computer. + +# Roadmap +These are the needed steps identified so far. Some of them needs to be done in parallel. There are probably more stuff and the difficulty of each step is unknown. The roadmap will be updated when more information is available. +* ~~PCI driver prototype~~ + * ~~Resource allocation~~ + * ~~PCIE link init~~ +* ~~Initial SoC bootup and config~~ + * ~~PLL reset~~ + * ~~PLL init~~ +* DDR PHY + * ~~Controller soft reset~~ + * ~~Controller init~~ + * ~~Save / Restore configuration~~ + * Timings calibration + * ~~Memory verification~~ + * ~~RD DATA DELAY FIFO~~ + * ~~RE BYTE FIFO~~ + * ~~One RE FIFO~~ + * RD DQS (started) + * WR DQ + * WR DM + * ADDR +* Sensor(s) +* Image signal processor + * IPC + * Firmware loading +* Control interface / Command stream +* Interrupts +* Memory management / sync +* Runtime power management +* ... +* Add V4L2 interface +* Prepare for mainline inclusion + +# Other Questions +### Can we use firmware from osx drivers? +~~Yes, we need to load the firmware onto the device and I'm assuming that it can be extracted from the OSX driver. I haven't looked much at the firmware loading parts yet so not sure how it works or if the firmware is licensed in a way that allows us to distribute it with this driver.~~ + +So far, only the ISP seems to be loading a firmware. Hopefully this is already available on the chip in flash memory. + +### How can I help? +* Code contributions are welcome. +* If someone could convince Broadcom to release the specs it would be immensely helpful. +* Star the repo. Perhaps numbers might give Broadcom a reason to help out. \ No newline at end of file