[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y/XMbhIgF8veIIdl@hovoldconsulting.com>
Date: Wed, 22 Feb 2023 09:03:58 +0100
From: Johan Hovold <johan@...nel.org>
To: Steev Klimaszewski <steev@...i.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Marcel Holtmann <marcel@...tmann.org>,
Johan Hedberg <johan.hedberg@...il.com>,
Luiz Augusto von Dentz <luiz.dentz@...il.com>,
Sven Peter <sven@...npeter.dev>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org, linux-bluetooth@...r.kernel.org,
Mark Pearson <markpearson@...ovo.com>,
Tim Jiang <quic_tjiang@...cinc.com>
Subject: Re: [PATCH v5 2/4] Bluetooth: hci_qca: Add support for QTI Bluetooth
chip wcn6855
On Wed, Feb 08, 2023 at 08:09:14PM -0600, Steev Klimaszewski wrote:
> Added regulators,GPIOs and changes required to power on/off wcn6855.
> Added support for firmware download for wcn6855.
>
> Signed-off-by: Steev Klimaszewski <steev@...i.org>
> ---
> drivers/bluetooth/btqca.c | 9 ++++++-
> drivers/bluetooth/btqca.h | 10 ++++++++
> drivers/bluetooth/hci_qca.c | 50 ++++++++++++++++++++++++++++---------
> 3 files changed, 56 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
> index c9064d34d830..2f9d8bd27c38 100644
> --- a/drivers/bluetooth/btqca.c
> +++ b/drivers/bluetooth/btqca.c
> +static const struct qca_device_data qca_soc_data_wcn6855 = {
> + .soc_type = QCA_WCN6855,
> + .vregs = (struct qca_vreg []) {
> + { "vddio", 5000 },
> + { "vddbtcxmx", 126000 },
> + { "vddrfacmn", 12500 },
> + { "vddrfa0p8", 102000 },
> + { "vddrfa1p7", 302000 },
> + { "vddrfa1p2", 257000 },
> + },
> + .num_vregs = 6,
> + .capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
> +};
> +
> static void qca_power_shutdown(struct hci_uart *hu)
> {
> struct qca_serdev *qcadev;
As I just mentioned IRC, you forgot to update qca_power_shutdown() here
so the regulators are currently never disabled (e.g. when closing the
device or on module unload).
> @@ -2047,7 +2066,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
>
> if (data &&
> (qca_is_wcn399x(data->soc_type) ||
> - qca_is_wcn6750(data->soc_type))) {
> + qca_is_wcn6750(data->soc_type) ||
> + qca_is_wcn6855(data->soc_type))) {
> qcadev->btsoc_type = data->soc_type;
> qcadev->bt_power = devm_kzalloc(&serdev->dev,
> sizeof(struct qca_power),
> @@ -2150,7 +2174,8 @@ static void qca_serdev_remove(struct serdev_device *serdev)
> struct qca_power *power = qcadev->bt_power;
>
> if ((qca_is_wcn399x(qcadev->btsoc_type) ||
> - qca_is_wcn6750(qcadev->btsoc_type)) &&
> + qca_is_wcn6750(qcadev->btsoc_type) ||
> + qca_is_wcn6855(qcadev->btsoc_type)) &&
> power->vregs_on)
> qca_power_shutdown(&qcadev->serdev_hu);
> else if (qcadev->susclk)
Johan
Powered by blists - more mailing lists