Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Apr 2024 16:53:27 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        Warner Losh <imp@freebsd.org>,  "src-committers@freebsd.org" <src-committers@freebsd.org>,  "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>,  "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: ac83063d37e5 - main - bcm2838_xhci: add module
Message-ID:  <CANCZdfrzrYTJiCJeHGusrLQ4EwvaCxzPFb81RvEj2-j3MNZnWQ@mail.gmail.com>
In-Reply-To: <ADFF4667-0A43-4C19-987C-D5998BF01B87@fubar.geek.nz>
References:  <202404100322.43A3MTXZ087267@gitrepo.freebsd.org> <ADFF4667-0A43-4C19-987C-D5998BF01B87@fubar.geek.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000b2c55c0615da064f
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 11, 2024 at 4:10=E2=80=AFAM Andrew Turner <andrew@fubar.geek.nz=
> wrote:

>
> > On 10 Apr 2024, at 04:22, Warner Losh <imp@FreeBSD.org> wrote:
> >
> > The branch main has been updated by imp:
> >
> > URL:
> https://cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5e92ad048cc4ed958654=
c02103f74
> >
> > commit ac83063d37e5e92ad048cc4ed958654c02103f74
> > Author:     Lexi Winter <lexi@le-Fay.ORG>
> > AuthorDate: 2024-04-10 03:11:36 +0000
> > Commit:     Warner Losh <imp@FreeBSD.org>
> > CommitDate: 2024-04-10 03:11:39 +0000
> >
> >    bcm2838_xhci: add module
> >
> >    bcm2838_xhci(4) is a shim for the XHCI controller on the Raspberry P=
i
> 4B
> >    SoC.  It loads the controller's firmware before passing control to t=
he
> >    normal xhci(4) driver.
> >
> >    When xhci(4) is built as a module (and not in the kernel),
> bcm2838_xhci
> >    is not built at all and the RPi4's XHCI controller won't attach due =
to
> >    missing firmware.
> >
> >    To fix this, build a new module, bcm2838_xhci.ko, which depends on
> >    xhci.ko.  For the dependency to work correctly, also modify xhci to
> >    provide the 'xhci' module in addition to the 'xhci_pci' module it
> >    already provided.
> >
> >    Since bcm2838_xhci is specific to a quirk of the RPi4 SoC, only buil=
d
> >    the module for AArch64.
>
> I think this broke GENERIC-ACPI kernel. The bcm2838_xhci driver is FDT
> only.
>

You may be right... But I don't see GENERIC-ACPI committed to the tree.
Maybe you could share it with me so I can fix this?

Warner

--000000000000b2c55c0615da064f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Apr 11, 2024 at 4:10=E2=80=AF=
AM Andrew Turner &lt;<a href=3D"mailto:andrew@fubar.geek.nz">andrew@fubar.g=
eek.nz</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex"><br>
&gt; On 10 Apr 2024, at 04:22, Warner Losh &lt;imp@FreeBSD.org&gt; wrote:<b=
r>
&gt; <br>
&gt; The branch main has been updated by imp:<br>
&gt; <br>
&gt; URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5=
e92ad048cc4ed958654c02103f74" rel=3D"noreferrer" target=3D"_blank">https://=
cgit.FreeBSD.org/src/commit/?id=3Dac83063d37e5e92ad048cc4ed958654c02103f74<=
/a><br>
&gt; <br>
&gt; commit ac83063d37e5e92ad048cc4ed958654c02103f74<br>
&gt; Author:=C2=A0 =C2=A0 =C2=A0Lexi Winter &lt;lexi@le-Fay.ORG&gt;<br>
&gt; AuthorDate: 2024-04-10 03:11:36 +0000<br>
&gt; Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt;<br>
&gt; CommitDate: 2024-04-10 03:11:39 +0000<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 bcm2838_xhci: add module<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 bcm2838_xhci(4) is a shim for the XHCI controller on the =
Raspberry Pi 4B<br>
&gt;=C2=A0 =C2=A0 SoC.=C2=A0 It loads the controller&#39;s firmware before =
passing control to the<br>
&gt;=C2=A0 =C2=A0 normal xhci(4) driver.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 When xhci(4) is built as a module (and not in the kernel)=
, bcm2838_xhci<br>
&gt;=C2=A0 =C2=A0 is not built at all and the RPi4&#39;s XHCI controller wo=
n&#39;t attach due to<br>
&gt;=C2=A0 =C2=A0 missing firmware.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 To fix this, build a new module, bcm2838_xhci.ko, which d=
epends on<br>
&gt;=C2=A0 =C2=A0 xhci.ko.=C2=A0 For the dependency to work correctly, also=
 modify xhci to<br>
&gt;=C2=A0 =C2=A0 provide the &#39;xhci&#39; module in addition to the &#39=
;xhci_pci&#39; module it<br>
&gt;=C2=A0 =C2=A0 already provided.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Since bcm2838_xhci is specific to a quirk of the RPi4 SoC=
, only build<br>
&gt;=C2=A0 =C2=A0 the module for AArch64.<br>
<br>
I think this broke GENERIC-ACPI kernel. The bcm2838_xhci driver is FDT only=
.<br></blockquote><div><br></div><div>You may be right... But I don&#39;t s=
ee GENERIC-ACPI committed to the tree. Maybe you could share it with me so =
I can fix this?</div><div><br></div><div>Warner=C2=A0</div></div></div>

--000000000000b2c55c0615da064f--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrzrYTJiCJeHGusrLQ4EwvaCxzPFb81RvEj2-j3MNZnWQ>