[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqKLL8x63wzpi2tfNfvVe5TX=Uxz+owPZbhevhW-84bDAA@mail.gmail.com>
Date: Tue, 9 Apr 2019 09:03:07 -0500
From: Rob Herring <robh+dt@...nel.org>
To: Rocky Liao <rjliao@...eaurora.org>
Cc: Marc Gonzalez <marc.w.gonzalez@...e.fr>,
Marcel Holtmann <marcel@...tmann.org>,
Johan Hedberg <johan.hedberg@...il.com>,
Matthias Kaehlcke <mka@...omium.org>,
LKML <linux-kernel@...r.kernel.org>,
"open list:BLUETOOTH DRIVERS" <linux-bluetooth@...r.kernel.org>,
MSM <linux-arm-msm@...r.kernel.org>,
Balakrishna Godavarthi <bgodavar@...eaurora.org>
Subject: Re: [PATCH v2 2/2] dt-bindings: net: bluetooth: Add device property
nvm-postfix for QCA6174
On Tue, Apr 9, 2019 at 5:15 AM Rocky Liao <rjliao@...eaurora.org> wrote:
>
> On 2019-04-04 20:32, Marc Gonzalez wrote:
> > +robh
> >
> > On 04/04/2019 11:08, Rocky Liao wrote:
> >
> >> This patchs patch adds an optional device property nvm-postfix to
> >> allow the
> >> driver to load customized nvm file based on this property
> >
> > While text /before/ is indeed called a "prefix", text /after/ is not a
> > "postfix",
> > but a "suffix".
> >
> >
> >> Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git
> >> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> >> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> >> index 824c0e2..70cda4b 100644
> >> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> >> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> >> @@ -16,6 +16,7 @@ Optional properties for compatible string
> >> qcom,qca6174-bt:
> >>
> >> - enable-gpios: gpio specifier used to enable chip
> >> - clocks: clock provided to the controller (SUSCLK_32KHZ)
> >> + - nvm-postfix: nvm file postfix to load customized nvm file
> >
> > The device tree is supposed to describe hardware.
> >
> > The name of which file to load can hardly be considered part of the HW.
> >
> > Possible solutions:
> > 1) derive the file name from the compatible string
> > 2) pass the name as a module parameter
> > 3) something else
> >
> >
> >> @@ -39,6 +40,7 @@ serial@...0000 {
> >>
> >> enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
> >> clocks = <&divclk4>;
> >> + nvm-postfix = "i2s";
> >> };
> >> };
> >
> > If one provides the entire suffix, including the underscore, then you
> > can
> > simplify the code:
> >
> > snprintf(config.fwname, sizeof(config.fwname), "qca/nvm_%08x%s.bin",
> > soc_ver, suffix ? suffix : "");
> >
> > Regards
> .
> Hi Marc,
>
> The major purpose for that property is about the BT audio bus type, can
> it be considered as part of the HW? If yes maybe we can use a property
> name "audio-bus" to reflect that.
>
> If not then I will adopt the solution 1 to add a new compatible string
> "{ .compatible = "qcom,qca6174-bt-i2s" }" and load specific nvm for this
> compatible string, please feel free to let me know if any other
> concerns.
I don't think the suggestion was to add the nvm string to the
compatible, but rather compatible strings serve as a map key. Having
board specific firmware files for wifi/bt is pretty common, but
parameters for 'i2s' is a bit strange. So a better explanation of what
parameters this contains would help. How/when does it vary, for
example?
Also, if it is only a handful of parameters, making them DT properties
is preferred.
Rob
Powered by blists - more mailing lists