firmware: raspberrypi: Introduce vl805 init routine
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tue, 5 May 2020 16:13:15 +0000 (18:13 +0200)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 13 May 2020 09:53:23 +0000 (10:53 +0100)
commitfbbc5ff3f7f9f4cad562e530ae2cf5d8964fe6d3
treecd4296b3a826dae9c72e22ad13e2cd8e038559e1
parentca91ddef2e438c1eaedf92722f66e8c235d373a7
firmware: raspberrypi: Introduce vl805 init routine

The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip
that implements xHCI. After a PCI reset, VL805's firmware may either be
loaded directly from an EEPROM or, if not present, by the SoC's
co-processor, VideoCore. RPi4's VideoCore OS contains both the non public
firmware load logic and the VL805 firmware blob. The function this patch
introduces triggers the aforementioned process.

Link: https://lore.kernel.org/r/20200505161318.26200-3-nsaenzjulienne@suse.de
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
drivers/firmware/raspberrypi.c
include/soc/bcm2835/raspberrypi-firmware.h