[PATCH v2 1/2] arm: rpi: Add function to trigger VL805's firmware load

Nicolas Saenz Julienne nsaenzjulienne at suse.de
Thu Apr 30 15:33:13 CEST 2020


On Thu, 2020-04-30 at 15:31 +0200, Mark Kettenis wrote:
> > From: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
> > Date: Thu, 30 Apr 2020 15:04:32 +0200
> > 
> > On the Raspberry Pi 4, after a PCI reset, VL805's (a xHCI chip) firmware
> > may either be loaded directly from an EEPROM or, if not present, by the
> > SoC's VideoCore (the SoC's co-processor). Introduce the function that
> > informs VideoCore that VL805 may need its firmware loaded.
> > 
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
> > 
> > ---
> > Changes since v1:
> >  - Rename function so it's not mistaken with regular firmware loading
> > 
> >  arch/arm/mach-bcm283x/include/mach/mbox.h | 13 +++++++
> >  arch/arm/mach-bcm283x/include/mach/msg.h  |  7 ++++
> >  arch/arm/mach-bcm283x/msg.c               | 43 +++++++++++++++++++++++
> >  3 files changed, 63 insertions(+)
> > 
> > diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-
> > bcm283x/include/mach/mbox.h
> > index 60e226ce1d..2ae2d3d97c 100644
> > --- a/arch/arm/mach-bcm283x/include/mach/mbox.h
> > +++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
> > @@ -491,6 +491,19 @@ struct bcm2835_mbox_tag_set_palette {
> >  	} body;
> >  };
> >  
> > +#define BCM2835_MBOX_TAG_NOTIFY_XHCI_RESET          0x00030058
> > +
> > +struct bcm2835_mbox_tag_pci_dev_addr {
> > +	struct bcm2835_mbox_tag_hdr tag_hdr;
> > +	union {
> > +		struct {
> > +			u32 dev_addr;
> > +		} req;
> > +		struct {
> > +		} resp;
> > +	} body;
> > +};
> > +
> >  /*
> >   * Pass a raw u32 message to the VC, and receive a raw u32 back.
> >   *
> > diff --git a/arch/arm/mach-bcm283x/include/mach/msg.h b/arch/arm/mach-
> > bcm283x/include/mach/msg.h
> > index 4afb08631b..e45c1bf010 100644
> > --- a/arch/arm/mach-bcm283x/include/mach/msg.h
> > +++ b/arch/arm/mach-bcm283x/include/mach/msg.h
> > @@ -48,4 +48,11 @@ int bcm2835_set_video_params(int *widthp, int *heightp,
> > int depth_bpp,
> >  			     int pixel_order, int alpha_mode, ulong *fb_basep,
> >  			     ulong *fb_sizep, int *pitchp);
> >  
> > +/**
> > + * bcm2711_load_vl805_firmware() - get vl805's firmware loaded
> > + *
> > + * @return 0 if OK, -EIO on error
> > + */
> > +int bcm2711_notify_vl805_reset(void);
> 
> Now the comment and function prototype don't agree :(.

Aargh, went too fast... I'll fix it on the next revision.

Regards,
Nicolas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200430/fdb82920/attachment.sig>


More information about the U-Boot mailing list