From patchwork Mon Jun 21 22:31:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 464604 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp64161jao; Mon, 21 Jun 2021 15:31:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9K8b2KVaQVnSKP/oCB52M5QHmP8/Ta5z/IpxOExZl/YUs4dj3HUT3fsH35nQpdLYrNuWv X-Received: by 2002:a92:bd06:: with SMTP id c6mr375708ile.110.1624314708397; Mon, 21 Jun 2021 15:31:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624314708; cv=none; d=google.com; s=arc-20160816; b=tMXpULrEf6Ej40kG12wF59+vg0fJYP6rG6NoCOJ3Y0K/i4E9ea2X5EEPS/LEdaEozT R3cMoJUfsuyrDOFMIXiHHdwVqjyrFcvXAigbgSbREQcXBvxFnath/Ja3q/vFNGtRyoAG 25/QclQ+2MeC4OAbaoxvmIFr+TDLXURZzcEGVEHnlDBE2LzCFf9STG7SmV81Kl+H5QyX wa2WErDIsik6ViUFb2uKMuxYPF9OPV7HCxg5+Mnd7g51taaZCqkMeup/NA1heVCWqFs7 RF/cGD2PUK9MAwUzfraC6U+++LR7LO/oAZVSYHSwzIloT6gRpXXb6nwgFv3+giYontET KFnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=qTXp9V2gmS/6O+YjuJWBHqGlLGOormIxmTXNND1OMs8=; b=mmxykDpa0YUG0WDh3kOq1m0Bw2qDiIm/crgDqAAlcGX0HQ36c+lvYcOPL6Klj9Td2g CB2CDPB2wQgaJBrgik6/V/j334D9rzB4oFLS613wcjYKzp605+TORNj3BzWQWxYyCL3/ aC6nPNOA2x7K6K3Q5tuYxi/AkCZsO1RJeCiqfv3/Aa1gWRPmp5IanNPa3aEJxBaDNxwr jIpBigASzCazbsmoxmWU5itN+fMGSN5yu6hpX7uaVBRojIU6SS4+AuL9e7cXtnTVF9Kj Juvhki76xwSRT9GBL3CrUK6h8K822gj6l9s4Acour2jiY6kW0zbwvveAltlOp2eW4RfN NVAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="lai/1I7l"; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y17si23567071iow.61.2021.06.21.15.31.48; Mon, 21 Jun 2021 15:31:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="lai/1I7l"; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232087AbhFUWeC (ORCPT + 1 other); Mon, 21 Jun 2021 18:34:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55160 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231488AbhFUWeB (ORCPT ); Mon, 21 Jun 2021 18:34:01 -0400 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 585D0C061760 for ; Mon, 21 Jun 2021 15:31:46 -0700 (PDT) Received: by mail-lj1-x233.google.com with SMTP id q23so16931694ljh.0 for ; Mon, 21 Jun 2021 15:31:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qTXp9V2gmS/6O+YjuJWBHqGlLGOormIxmTXNND1OMs8=; b=lai/1I7l4KC6OZXLITF8pOdxQsjd6lU25zB/FRzAon/Xz7Au42HePwMQ550WfPuc7p R7pq17A87GvzCXfVQQRRnjfAgC5kz71kcb6rblgOxQCJRROIZRRJ4l8VbwqwhavOOcW4 cTx7T9k7VhUehbcrQZgbAJmuzcrcnmyFs8NbM5aVe/ycCouGwyeltnuWrcsKao79aZIT gOut8cr5CK1MuImXyopuS8k4brXmHU1DbOWvmUqukzRGgiVq/VWT7HPjO6+Fl+Gcp1rs 6SapLXi94VG2/A7VnZw7ZiSdVF4aRA8nOjpTofWQqCVTMe0qfvlu1VsKEkHqpIHb9uJI lIKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=qTXp9V2gmS/6O+YjuJWBHqGlLGOormIxmTXNND1OMs8=; b=EsRli+P7W2fM6iSQtnHStlfTIdcOnhCxOE95Cmm0hvBZ4tPvVvvmSn3cXzZA+v+ztN uDW0hjrIjFqn+K+PFGImlUTYta4C0+IMO89wisqmdosF101n7IgWpVrhXb/WPgCcVCeo TX8x/4wHxLw4vTUdSH5yREnIEJwsh+wrYhNRkDGi3cyOt2mz6ATzHPgTt/KLhvu3kWaW 0VRlYtIiShCTgIPNEaWonA4jNp0LUPxXEH1bO4ZMv+j5vPqg4m/0oyE00YH8ZRKrlA0Q aN6oG41Okfh7kOfJyMaursRXgtRNoq/3a1U14ccXo0Hn1HUwPyMrEavTDDdER6TLq9I8 1Pxw== X-Gm-Message-State: AOAM5330gCMqOqiBVL0lboxZynHLaA7LDHs38ZtxKBI0hU0qw26/6Z9x UFzWrMSumkZ+LSz+oUMHOPjdCA== X-Received: by 2002:a2e:7103:: with SMTP id m3mr386188ljc.300.1624314704471; Mon, 21 Jun 2021 15:31:44 -0700 (PDT) Received: from eriador.lan ([37.153.55.125]) by smtp.gmail.com with ESMTPSA id b10sm2516025ljf.72.2021.06.21.15.31.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jun 2021 15:31:44 -0700 (PDT) From: Dmitry Baryshkov To: Andy Gross , Bjorn Andersson , Rob Herring , Liam Girdwood , Mark Brown , Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz Cc: linux-arm-msm@vger.kernel.org, Manivannan Sadhasivam , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org Subject: [PATCH v3 0/7] Add support for Qualcomm QCA639x chips family Date: Tue, 22 Jun 2021 01:31:34 +0300 Message-Id: <20210621223141.1638189-1-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Qualcomm QCA639x is a family of WiFi + Bluetooth chips, with BT part being controlled through the UART and WiFi being present on PCIe bus. Both blocks use common power management unit wich should be turned on before either of devices can be probed. Add common 'qcom-qca6390' driver providing regulator to be used by both BT and PCIe parts. Changes since v2: - Rebase on top of linux-next to get wcn6750 changes. - Switch from misc device providing power domains into regulator code. - Use vddpe-3v3-supply as expected by pcie-qcom driver. - Use enable_gpio functionality in hci_qca driver. Changes since v1: - Stopped using wildcard in the dts binding, stick to qcom,qca6390. - Stopped using pcie0_phy for qca639x power domain. - Describe root PCIe bridge in the dts and bind power domain to the bridge. - Add pci quirk to power up power domains connected to this bridge. ---------------------------------------------------------------- Dmitry Baryshkov (7): dt-bindings: regulator: qcom,qca6390: add binding for QCA6390 device regulator: qca6390: add support for QCA639x powerup sequence Bluetooth: hci_qca: provide default device data Bluetooth: hci_qca: merge qca_power into qca_serdev Bluetooth: hci_qca: merge wcn & non-wcn code paths Bluetooth: hci_qca: add power sequencer support to qca6390 arm64: dts: qcom: qrb5165-rb5: add QCA6391 WiFi+BT SoC .../bindings/regulator/qcom,qca6390.yaml | 70 +++++++ arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 56 +++++ drivers/bluetooth/hci_qca.c | 225 ++++++++++----------- drivers/regulator/Kconfig | 13 ++ drivers/regulator/Makefile | 1 + drivers/regulator/qcom-qca639x.c | 157 ++++++++++++++ 6 files changed, 401 insertions(+), 121 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/qcom,qca6390.yaml create mode 100644 drivers/regulator/qcom-qca639x.c Reviewed-by: Bjorn Andersson