From patchwork Tue Jan 30 14:04:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Caleb Connolly X-Patchwork-Id: 768063 Delivered-To: patch@linaro.org Received: by 2002:adf:ee41:0:b0:33a:e5bd:fedd with SMTP id w1csp1384693wro; Tue, 30 Jan 2024 06:05:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IFFwqDbxgJW16e2Vrxto0Esn1+D+xHyLSzRIsTYklh93hrRN8F+IWerznIO4x+XL3nP/u0o X-Received: by 2002:a05:600c:1d1b:b0:40e:a255:4bf4 with SMTP id l27-20020a05600c1d1b00b0040ea2554bf4mr6824299wms.22.1706623514721; Tue, 30 Jan 2024 06:05:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1706623514; cv=none; d=google.com; s=arc-20160816; b=kfgMqNkuNZyWnqikkkK2JcLPPjycUsi6zw3YN6u5X2Lbnw8jQqfNk0RckeZNE+M2sF ugcEJkLzf5Amb5RS5H8OxEYDSffPSPnsAGhSBBNe/SJPOH5ngVwbyng+I5ICccTZSYnc rx/GtgAFckOoMybO27edMQkJfxNmorceAv4ZlUgyudJ/IuNf3MMNwpM+M0tb8QOlrxPD UXaOVSE8vEFQP7ygIGD8UVMx6Fu+Xq6v3QM+eeeU4IQhEjXYXYr8Y5VmNT1yKaEbMZKF m8D3e9i9GE4GidHlIjt62QcJdu7hNSkXqeja1ORE4k7zDZrVMFbu94Lb1VHblxQN/6Nv x1Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:cc:to:content-transfer-encoding :mime-version:message-id:date:subject:from:dkim-signature; bh=htyV8Rhj/23R7qZleaYGGEIMYq5dCB+ZLUREERCS6Lk=; fh=vG+li7Pp62s8YEAPN/BBeUHvvxWA/r/ouzpCKjSl5Og=; b=ZEfI2lX83t79FVBxf3shDMWL5S4C/4eOnbpL+bP74DJC1N2giClV1OLUozDzIBRcwN Z051IxWtmLHd1ZySs5XGHp6a+hs63GcOqZ6am567aJX8o4GkdvL8AUxHFcR+VBSDq35j 6+DfYXp32mXFS56UUmBQMlZ9c5IibVNKxk5j3m/X+HQCEyYhm6vZWym7wuUVB6kpNVv0 7wsqsy84NXFdLcBH8nU4lt4faCyuCuPzZeZ4zdwWqZ8OTzr/xVx7KNKkKBeG627ZQOEi adLHuftl6TtiszbhUi772A1XjhgzkF9SmOUT+F+72N3i7a7gt/GMMqeP2EuYEZnokcI7 WNOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JQLsSk0g; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from phobos.denx.de (phobos.denx.de. [85.214.62.61]) by mx.google.com with ESMTPS id n32-20020a05600c502000b0040efaa40fd7si1930605wmr.48.2024.01.30.06.05.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 06:05:14 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) client-ip=85.214.62.61; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JQLsSk0g; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 85.214.62.61 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2107987DE5; Tue, 30 Jan 2024 15:05:13 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="JQLsSk0g"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0AC0C87DE1; Tue, 30 Jan 2024 15:05:12 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6605287D07 for ; Tue, 30 Jan 2024 15:05:09 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=caleb.connolly@linaro.org Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-40eacb6067dso53523305e9.1 for ; Tue, 30 Jan 2024 06:05:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1706623509; x=1707228309; darn=lists.denx.de; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=htyV8Rhj/23R7qZleaYGGEIMYq5dCB+ZLUREERCS6Lk=; b=JQLsSk0g+jR2CKl7K1ROcJj/wCt94ZEY5SKKCsrZqUSP0jaSoo6+UbjFslRo0uWxKm rQJ6lT+OTIFxRVgB8aDi13knCN8h4AQPc+SCQd3lkKlHPqUfZHsgBIQxE7YvFIiY4i6q UL0fEML974FfrMbJO7qg99/l7GWL1snjhB2504RiAYo/EuTnCm/ijsG61RW0r+Aqf8zc XNyDT0hCHtj8ctiUz6ozT16ir0pUblj72z9AP2GFKHO6RgFjYcR8l2GErq5fwbuhB0D6 9AUwPE6bruM+6cyxFiSGqWS1P+G/thfVH8eChtZkwcvXlqpAfPerg1MopWWa9uOf0DHA +mnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706623509; x=1707228309; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=htyV8Rhj/23R7qZleaYGGEIMYq5dCB+ZLUREERCS6Lk=; b=p8L735mT7B/XCPcib9rMx+wB/iA5O8/8WDVO7s17RPEjfp8/EJEqgpFCHxisPOxjeE +Qv6aEMTeIU9GHwHq8PH5vQeswOW1Mrso02QFRUIYMdk1PMaJelBkAHEJ/gkByo2ztbj CVtJa9Rck4+xI6Hq7/ML5itllpASCcv7PHfj0G9tUrcNxpzdNDYjhGeCYcLXOQ/mghO1 sf3iR8cUWuG8hQ/km3oPzSlC5G42gEL6pk8JmKCVbXuObAaVBBs0R7zJ0wsHNlikBJYN 6DSCgyinlYMsnipiH2z5SkteDVG1rYDxQ5bq/rldpkQIz5ZtmG9FuYlOo5qblCDfhlB0 mwLg== X-Gm-Message-State: AOJu0Yz33cGdTOw2ViseVnyRO7Ck49nrL73uH14JsDsXXN11PUO0wXLk RItPTbhET20BPtkuDozJ8SYJv/nuqGFQzPl8MR4ignFAyt1F+XsUf5giiWGUWBk= X-Received: by 2002:a05:600c:1f93:b0:40e:621b:e21f with SMTP id je19-20020a05600c1f9300b0040e621be21fmr7472497wmb.40.1706623508753; Tue, 30 Jan 2024 06:05:08 -0800 (PST) Received: from lion.localdomain (host-92-17-96-232.as13285.net. [92.17.96.232]) by smtp.gmail.com with ESMTPSA id g11-20020a05600c310b00b0040f035bebfcsm1799017wmo.12.2024.01.30.06.05.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 06:05:08 -0800 (PST) From: Caleb Connolly Subject: [PATCH v3 00/36] Qualcomm generic board support Date: Tue, 30 Jan 2024 14:04:48 +0000 Message-Id: <20240130-b4-qcom-common-target-v3-0-e523cbf9e556@linaro.org> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAAACuWUC/3XNzw6CMAwG8FchO1uzjgHOk+9hPPCnwBJhupFFQ 3h3CzExHjj08DVff51FIG8piHMyC0/RButGDukhEXVfjh2BbTgLJVWKiBoqDc/aDcAzuBGm0nc 0gW4NYaHzlCgTfPvw1NrX5l5vnHsbJuff25uI6/YrKtwRI4IEo41CcyJZY3a527H07uh8J1Yyq h/DpT1GMVPlTWMKqblGf8yyLB9KcJl3AgEAAA== To: Neil Armstrong , Sumit Garg , Ramon Fried , Dzmitry Sankouski , Caleb Connolly , Peng Fan , Jaehoon Chung , Rayagonda Kokatanur , Lukasz Majewski , Sean Anderson , Jorge Ramirez-Ortiz , Stephan Gerhold Cc: Marek Vasut , u-boot@lists.denx.de, Tom Rini , Simon Glass X-Mailer: b4 0.13-dev-4bd13 X-Developer-Signature: v=1; a=openpgp-sha256; l=17019; i=caleb.connolly@linaro.org; h=from:subject:message-id; bh=hI8ZQWt+nX3iNlzS8PAOuMzv3YpS0TUovLrJC1SB2eQ=; b=owGbwMvMwCFYaeA6f6eBkTjjabUkhtSdTPwfWaZKWoW7ChW+ddq+/9i6+LVMn09wiPsffzytd 87Fb5LbOkpZGAQ5GGTFFFnETyyzbFp72V5j+4ILMHNYmUCGMHBxCsBEJPkY/gpzqKvxz5l2RGxP +JT4706KszvqZi8SyPS08btz4biFhQ/D/7yza/vVwnY4KE/n2m2z70yqn75jgcELYdOeycWzAj7 tYAIA X-Developer-Key: i=caleb.connolly@linaro.org; a=openpgp; fpr=83B24DA7FE145076BC38BB250CD904EB673A7C47 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Historically, Qualcomm boards in U-Boot have all had their own board/qualcomm/xyz directory, their own CONFIG_TARGET_XYZ option, their own hardcoded sysmap-xyz.c file, and their own U-Boot specific devicetree with little/no compatibility with upstream DT. This series makes a few final prepatory changes, and then replaces almost all of the board specific code with generic alternatives. The end result is that all Qualcomm boards both current and future (with the exception of the db410c and db820c) can be supported by a single U-Boot binary by just providing the correct DT. New boards can be added without introducing any addition mach/ or board/ code or config options. Due to the nature of this change, the patch ("mach-snapdragon: generalise board support") has become pretty big, I tried a few different ways to represent this in git history, but the other methods (e.g. adding a stub "generic" target and removing it again) were more confusing and made for much messier git history. The current patch is mostly atomic, but requires regenerating the config. The QCS404 EVB board had some code to enable the USB VBUS regulator, this is dropped in favour of a adding a new vbus-supply property to the dwc3-generic driver. This will also be used by the dragonboard845c in a future patch. This handles the common case of a board requiring some regulator be enabled for USB host mode. A more detailed description of the changes is below. == Memory map == The memory map was historically hardcoded into U-Boot, this meant that U-Boot had to be built for a specific variant of a device. This is changed to instead read the memory map from the DT /memory node. Additionally, most boards mapped addresss 0x0 as valid, as a result if a null pointer access happens then it will cause a bus stall (and board hang). This is fixed so that null pointer accesses will now correctly throw an exception. == DT loading == Previously, boards used the FDT blob embedded into U-Boot (via OF_SEPARATE). However, most Qualcomm boards run U-Boot as a secondary bootloader, so we can instead rely on the first-stage bootloader to populate some useful FDT properties for us (notably the /memory node and KASLR seed) and fetch the DTB that it provides. Combined with the memory map changes above, this let's us entirely avoid configuring the memory map explicitly. == defconfig == Most of the board defconfigs and config headers were quite similar, to simplify maintenance going forward, all the fully generic boards (sdm845 and qcs404-evb so far) are adapted to use the new qcom_defconfig. Going forward, all new Qualcomm boards should be supported by this defconfig. A notable exception is for specific usecases (like U-Boot as the primary bootloader). == The older dragonboards == The db410c and db820c both have some custom board init code, as a result they aren't yet binary compatible. mach-snapdragon is adjusted so that all the necessary config options (e.g. CONFIG_SYS_BOARD) can be set from their defconfigs, this makes it possible to enable support for new boards without introducing additional config options. The db410c can run U-Boot either chainloaded like the other boards, or as a first-stage bootloader replacing aboot. However it was hardcoded to only build for the latter option. This series introduces a new "chainloaded" defconfig to enable easier testing via fastboot. == dynamic environment variables == This series also introduces runtime-allocated load addresses via the lmb allocator. This allows for booting on boards with vastly different memory layouts without any pre-calculation or macro magic in the config header. This feature is based on similar code in mach-apple. The soc, board, and fdtfile environment variables are also generated automatically. Many Qualcomm boards follow a similar scheme for DTB naming such that the name can often be derived from the root compatible properties. This is intended to cover the most common cases and be a simple solution for booting generic distro images without having to explicitly choose the right DTB. The U-Boot DTS can be tweaked if necessary to produce the correct name, the variable can be overwritten, or a bootloader like GRUB can load the devicetree instead. == Upstream DT == All Qualcomm boards have had their devicetree files replaced with the upstream versions. Previous patch series made the necessary driver adjustments to fully support the upstream DT format. All future Qualcomm boards should use upstream DTS by default. Once Sumit's work to import dt-rebasing has been merged, we will drop the imported DT and bindings again. --- I have tested this series on the Dragonboard410c, Dragonboard820c, and Dragonboard845c. I unfortunately don't have access to a QCS404 EVB board to test. This series is based on the qcom-next branch [1] and depends on my PMIC fixes series [2], an integration branch for testing can be found at [3]. The non-qualcomm-specific changes (patches 1 and 2) don't have any dependencies. [1]: https://source.denx.de/u-boot/custodians/u-boot-snapdragon [2]: https://lore.kernel.org/u-boot/20231114-b4-qcom-dt-compat-v3-0-88a92f8f00ba@linaro.org/ [3]: https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/tree/b4/qcom-common-target --- Changes in v3: - Remove dragonboard410c.dts file - Introduce generic board_usb_init() function. - Remove db410c specific dead code (smem RAM layout) - Fix pinctrl DT compatibility for msm8916/msm8996 - Reference git tag where DT and headers were taken from Linux. - Adjust ramdisk allocation size to 128M - Improve documentation wording, reference buildman - Fix mapping for reserved regions to avoid speculative pre-fetching - Apply quicksort to memory banks read from DT to ensure ordering - Link to v2: https://lore.kernel.org/r/20231219-b4-qcom-common-target-v2-0-b6dd9704219e@linaro.org Changes in v2: - Split DTS changes to reduce patch size. - Import full board DTS files from Linux too, and introduce -u-boot.dtsi files where necessary to make any U-Boot specific changes. - Add a pinctrl driver for qcom PMIC GPIOs - Always enable LINUX_KERNEL_IMAGE_HEADER - Link to v1: https://lore.kernel.org/r/20231121-b4-qcom-common-target-v1-0-9492198e0c15@linaro.org To: Neil Armstrong To: Sumit Garg To: Ramon Fried Cc: Marek Vasut To: Dzmitry Sankouski To: Caleb Connolly To: Peng Fan To: Jaehoon Chung To: Rayagonda Kokatanur To: Lukasz Majewski To: Sean Anderson To: Jorge Ramirez-Ortiz To: Stephan Gerhold Cc: --- Caleb Connolly (36): arm: init: export prev_bl_fdt_addr usb: dwc3-generic: support external vbus regulator mmc: msm_sdhci: use modern clock handling dt-bindings: drop msm_sdhci binding clk/qcom: use upstream compatible properties clock/qcom: qcs404: fix clk_set_rate serial: msm: add debug UART serial: msm: fix clock handling serial_msm: fix pinctrl gpio: qcom_pmic: 1-based GPIOs gpio: qcom_pmic: add a quirk to skip GPIO configuration gpio: qcom_pmic: add pinctrl driver board: dragonboard410c: add chainloaded config fragment board: dragonboard410c: upstream DT compat board: dragonboard410c: import board code from mach-snapdragon board: dragonboard820c: use LINUX_KERNEL_IMAGE_HEADER mach-snapdragon: generalise board support mach-snapdragon: dynamic load addresses mach-snapdragon: generate fdtfile automatically mach-snapdragon: carve out no-map regions doc: board/qualcomm: document generic targets dt-bindings: import headers for SDM845 dts: sdm845: import supporting dtsi files dts: sdm845: replace with upstream DTS dt-bindings: import headers for MSM8916 dts: msm8916: import PMIC dtsi files dts: msm8916: replace with upstream DTS dt-bindings: import headers for MSM8996 dts: msm8996: import PMIC dtsi files dts: dragonboard820c: use correct bindings for clocks dts: msm8996: replace with upstream DTS dt-bindings: import headers for qcs404 dts: qcs404-evb: replace with upstream DT board: qcs404-evb: drop board code pinctrl: qcom: fix DT compatibility MAINTAINERS: Qualcomm: add some missing paths MAINTAINERS | 12 +- abort | 20 + arch/arm/Kconfig | 4 + arch/arm/dts/Makefile | 9 +- arch/arm/dts/apq8016-sbc-u-boot.dtsi | 11 + arch/arm/dts/apq8016-sbc.dts | 729 +++ arch/arm/dts/apq8096-db820c-u-boot.dtsi | 14 + arch/arm/dts/apq8096-db820c.dts | 1137 ++++ arch/arm/dts/dragonboard410c-uboot.dtsi | 44 - arch/arm/dts/dragonboard410c.dts | 209 - arch/arm/dts/dragonboard820c-uboot.dtsi | 32 - arch/arm/dts/dragonboard820c.dts | 151 - arch/arm/dts/dragonboard845c-uboot.dtsi | 26 - arch/arm/dts/dragonboard845c.dts | 48 - arch/arm/dts/msm8916-pm8916.dtsi | 157 + arch/arm/dts/msm8916.dtsi | 2702 +++++++++ arch/arm/dts/msm8996.dtsi | 3884 +++++++++++++ arch/arm/dts/pm8916.dtsi | 178 + arch/arm/dts/pm8994.dtsi | 152 + arch/arm/dts/pm8998.dtsi | 130 + arch/arm/dts/pmi8994.dtsi | 65 + arch/arm/dts/pmi8998.dtsi | 98 + arch/arm/dts/pms405.dtsi | 149 + arch/arm/dts/qcs404-evb-4000-u-boot.dtsi | 26 + arch/arm/dts/qcs404-evb-4000.dts | 96 + arch/arm/dts/qcs404-evb-uboot.dtsi | 30 - arch/arm/dts/qcs404-evb.dts | 390 -- arch/arm/dts/qcs404-evb.dtsi | 389 ++ arch/arm/dts/qcs404.dtsi | 1829 ++++++ arch/arm/dts/sdm845-db845c.dts | 1190 ++++ .../arm/dts/sdm845-samsung-starqltechn-u-boot.dtsi | 16 + arch/arm/dts/sdm845-samsung-starqltechn.dts | 460 ++ arch/arm/dts/sdm845-wcd9340.dtsi | 86 + arch/arm/dts/sdm845.dtsi | 5801 +++++++++++++++++++- arch/arm/dts/starqltechn-uboot.dtsi | 27 - arch/arm/dts/starqltechn.dts | 68 - arch/arm/lib/save_prev_bl_data.c | 5 + arch/arm/mach-snapdragon/Kconfig | 95 +- arch/arm/mach-snapdragon/Makefile | 8 +- arch/arm/mach-snapdragon/board.c | 454 ++ arch/arm/mach-snapdragon/dram.c | 99 - arch/arm/mach-snapdragon/include/mach/dram.h | 12 - arch/arm/mach-snapdragon/include/mach/misc.h | 13 - arch/arm/mach-snapdragon/init_sdm845.c | 73 - arch/arm/mach-snapdragon/misc.c | 55 - arch/arm/mach-snapdragon/sysmap-apq8016.c | 31 - arch/arm/mach-snapdragon/sysmap-apq8096.c | 31 - arch/arm/mach-snapdragon/sysmap-qcs404.c | 43 - arch/arm/mach-snapdragon/sysmap-sdm845.c | 31 - board/qualcomm/dragonboard410c/Kconfig | 15 - board/qualcomm/dragonboard410c/Makefile | 2 +- .../dragonboard410c/configs/chainloaded.config | 7 + board/qualcomm/dragonboard410c/dragonboard410c.c | 130 +- board/qualcomm/dragonboard820c/Kconfig | 15 - board/qualcomm/dragonboard820c/Makefile | 1 - board/qualcomm/dragonboard820c/dragonboard820c.c | 39 +- board/qualcomm/dragonboard820c/head.S | 33 - board/qualcomm/dragonboard820c/u-boot.lds | 111 - board/qualcomm/dragonboard845c/Kconfig | 12 - board/qualcomm/qcs404-evb/Kconfig | 15 - board/qualcomm/qcs404-evb/Makefile | 6 - board/qualcomm/qcs404-evb/qcs404-evb.c | 62 - configs/dragonboard410c_defconfig | 8 +- configs/dragonboard820c_defconfig | 8 +- configs/dragonboard845c_defconfig | 29 - configs/qcom_defconfig | 73 + configs/qcs404evb_defconfig | 55 - configs/starqltechn_defconfig | 41 - doc/board/qualcomm/board.rst | 125 + doc/board/qualcomm/debugging.rst | 61 + doc/board/qualcomm/index.rst | 4 +- doc/board/qualcomm/qcs404.rst | 79 - doc/board/qualcomm/sdm845.rst | 167 - doc/device-tree-bindings/mmc/msm_sdhci.txt | 25 - doc/device-tree-bindings/usb/ehci-msm.txt | 10 - drivers/clk/qcom/clock-apq8016.c | 9 +- drivers/clk/qcom/clock-apq8096.c | 7 +- drivers/clk/qcom/clock-qcs404.c | 7 +- drivers/gpio/qcom_pmic_gpio.c | 224 +- drivers/mmc/msm_sdhci.c | 69 +- drivers/phy/qcom/msm8916-usbh-phy.c | 4 +- drivers/pinctrl/qcom/pinctrl-apq8016.c | 28 +- drivers/pinctrl/qcom/pinctrl-apq8096.c | 16 +- drivers/pinctrl/qcom/pinctrl-qcs404.c | 16 +- drivers/serial/Kconfig | 8 + drivers/serial/serial_msm.c | 57 +- drivers/usb/dwc3/dwc3-generic.c | 12 + drivers/usb/host/ehci-msm.c | 24 +- include/configs/dragonboard845c.h | 20 - include/configs/qcom.h | 21 + include/configs/qcs404-evb.h | 20 - include/configs/sdm845.h | 26 - include/dt-bindings/arm/coresight-cti-dt.h | 37 + include/dt-bindings/clock/qcom,camcc-sdm845.h | 116 + include/dt-bindings/clock/qcom,dispcc-sdm845.h | 56 + include/dt-bindings/clock/qcom,gcc-msm8916.h | 179 + include/dt-bindings/clock/qcom,gcc-msm8996.h | 362 ++ include/dt-bindings/clock/qcom,gpucc-sdm845.h | 24 + include/dt-bindings/clock/qcom,lpass-sdm845.h | 15 + include/dt-bindings/clock/qcom,mmcc-msm8996.h | 295 + include/dt-bindings/clock/qcom,rpmcc.h | 174 + include/dt-bindings/clock/qcom,rpmh.h | 37 + include/dt-bindings/clock/qcom,turingcc-qcs404.h | 15 + include/dt-bindings/clock/qcom,videocc-sdm845.h | 35 + include/dt-bindings/dma/qcom-gpi.h | 11 + include/dt-bindings/firmware/qcom,scm.h | 39 + include/dt-bindings/iio/qcom,spmi-vadc.h | 300 + include/dt-bindings/interconnect/qcom,msm8916.h | 100 + .../dt-bindings/interconnect/qcom,msm8996-cbf.h | 12 + include/dt-bindings/interconnect/qcom,msm8996.h | 163 + include/dt-bindings/interconnect/qcom,osm-l3.h | 15 + include/dt-bindings/interconnect/qcom,sdm845.h | 150 + include/dt-bindings/phy/phy-qcom-qmp.h | 20 + include/dt-bindings/phy/phy-qcom-qusb2.h | 37 + include/dt-bindings/pinctrl/qcom,pmic-gpio.h | 164 + include/dt-bindings/pinctrl/qcom,pmic-mpp.h | 106 + include/dt-bindings/power/qcom-rpmpd.h | 412 ++ .../dt-bindings/regulator/qcom,rpmh-regulator.h | 36 + include/dt-bindings/reset/qcom,gcc-msm8916.h | 100 + include/dt-bindings/reset/qcom,sdm845-aoss.h | 17 + include/dt-bindings/reset/qcom,sdm845-pdc.h | 22 + include/dt-bindings/soc/qcom,apr.h | 28 + include/dt-bindings/soc/qcom,rpmh-rsc.h | 14 + include/dt-bindings/sound/apq8016-lpass.h | 9 + include/dt-bindings/sound/qcom,lpass.h | 46 + include/dt-bindings/sound/qcom,q6afe.h | 9 + include/dt-bindings/sound/qcom,q6asm.h | 26 + include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 234 + include/dt-bindings/sound/qcom,wcd9335.h | 15 + include/init.h | 11 + 130 files changed, 23881 insertions(+), 2580 deletions(-) --- base-commit: 4c3dfa1b8babf9fc0575ce08eed99f950d3bab84 // Caleb (they/them)