[PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c

Dmitry Baryshkov posted 2 patches 2 months, 4 weeks ago
[PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Dmitry Baryshkov 2 months, 4 weeks ago
There has been a (rare) varint of Dragonboard 820c, utilizing Pro
version of the SoC, with the major difference being CPU and GPU clock
tables. Add a DT file representing this version of the board.

01:13:26.275: B -    417880 - 8996 Pro v1.x detected, Max frequency = 1.8 GHz

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/Makefile                  |    1 +
 arch/arm64/boot/dts/qcom/apq8096-db820c.dts        | 1126 +-------------------
 .../{apq8096-db820c.dts => apq8096-db820c.dtsi}    |    5 -
 arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts      |   15 +
 4 files changed, 17 insertions(+), 1130 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6f34d5ed331c4cc5ec01de7a0ecbc45f64c3ee15..c3ad5c3cd659198a6bc88bf07d6939977937f5d1 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-schneider-hmibsc.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8039-t2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8094-sony-xperia-kitakami-karin_windy.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-db820c.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= apq8096sg-db820c.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-ifc6640.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq5018-rdp432-c2.dtb
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
index 9fa70ff6887b78caf1826f653a5caccd9653269c..47b4568e4039117e3bf6e08ffa8a2c8198d748b1 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
@@ -6,1133 +6,9 @@
 /dts-v1/;
 
 #include "msm8996.dtsi"
-#include "pm8994.dtsi"
-#include "pmi8994.dtsi"
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/leds/common.h>
-#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
-#include <dt-bindings/sound/qcom,q6afe.h>
-#include <dt-bindings/sound/qcom,q6asm.h>
-#include <dt-bindings/sound/qcom,wcd9335.h>
-
-/*
- * GPIO name legend: proper name = the GPIO line is used as GPIO
- *         NC      = not connected (pin out but not routed from the chip to
- *                   anything the board)
- *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
- *         LSEC    = Low Speed External Connector
- *         P HSEC  = Primary High Speed External Connector
- *         S HSEC  = Secondary High Speed External Connector
- *         J14     = Camera Connector
- *         TP      = Test Points
- *
- * Line names are taken from the schematic "DragonBoard 820c",
- * drawing no: LM25-P2751-1
- *
- * For the lines routed to the external connectors the
- * lines are named after the 96Boards CE Specification 1.0,
- * Appendix "Expansion Connector Signal Description".
- *
- * When the 96Board naming of a line and the schematic name of
- * the same line are in conflict, the 96Board specification
- * takes precedence, which means that the external UART on the
- * LSEC is named UART0 while the schematic and SoC names this
- * UART3. This is only for the informational lines i.e. "[FOO]",
- * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
- * ones actually used for GPIO.
- */
+#include "apq8096-db820c.dtsi"
 
 / {
 	model = "Qualcomm Technologies, Inc. DB820c";
 	compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096";
-
-	aliases {
-		serial0 = &blsp2_uart2;
-		serial1 = &blsp2_uart3;
-		serial2 = &blsp1_uart2;
-		i2c0 = &blsp1_i2c3;
-		i2c1 = &blsp2_i2c1;
-		i2c2 = &blsp2_i2c1;
-		spi0 = &blsp1_spi1;
-		spi1 = &blsp2_spi6;
-	};
-
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
-
-	div1_mclk: divclk1 {
-		compatible = "gpio-gate-clock";
-		pinctrl-0 = <&audio_mclk>;
-		pinctrl-names = "default";
-		clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
-		#clock-cells = <0>;
-		enable-gpios = <&pm8994_gpios 15 0>;
-	};
-
-	divclk4: divclk4 {
-		compatible = "fixed-clock";
-		#clock-cells = <0>;
-		clock-frequency = <32768>;
-		clock-output-names = "divclk4";
-
-		pinctrl-names = "default";
-		pinctrl-0 = <&divclk4_pin_a>;
-	};
-
-	gpio-keys {
-		compatible = "gpio-keys";
-		autorepeat;
-
-		pinctrl-names = "default";
-		pinctrl-0 = <&volume_up_gpio>;
-
-		button {
-			label = "Volume Up";
-			linux,code = <KEY_VOLUMEUP>;
-			gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
-		};
-	};
-
-	usb2_id: usb2-id {
-		compatible = "linux,extcon-usb-gpio";
-		id-gpios = <&pmi8994_gpios 6 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&usb2_vbus_det_gpio>;
-	};
-
-	usb3_id: usb3-id {
-		compatible = "linux,extcon-usb-gpio";
-		id-gpios = <&pm8994_gpios 22 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&usb3_vbus_det_gpio>;
-	};
-
-	vph_pwr: vph-pwr-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vph_pwr";
-		regulator-always-on;
-		regulator-boot-on;
-
-		regulator-min-microvolt = <3700000>;
-		regulator-max-microvolt = <3700000>;
-	};
-
-	wlan_en: wlan-en-1-8v {
-		pinctrl-names = "default";
-		pinctrl-0 = <&wlan_en_gpios>;
-		compatible = "regulator-fixed";
-		regulator-name = "wlan-en-regulator";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-
-		gpio = <&pm8994_gpios 8 0>;
-
-		/* WLAN card specific delay */
-		startup-delay-us = <70000>;
-		enable-active-high;
-	};
-};
-
-&blsp1_i2c3 {
-	/* On Low speed expansion: LS-I2C0 */
-	status = "okay";
-};
-
-&blsp1_spi1 {
-	/* On Low speed expansion */
-	status = "okay";
-};
-
-&blsp1_uart2 {
-	label = "BT-UART";
-	status = "okay";
-
-	bluetooth {
-		compatible = "qcom,qca6174-bt";
-
-		/* bt_disable_n gpio */
-		enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
-
-		clocks = <&divclk4>;
-	};
-};
-
-&adsp_pil {
-	status = "okay";
-	firmware-name = "qcom/apq8096/adsp.mbn";
-};
-
-&blsp2_i2c1 {
-	/* On High speed expansion: HS-I2C2 */
-	status = "okay";
-};
-
-&blsp2_i2c1 {
-	/* On Low speed expansion: LS-I2C1 */
-	status = "okay";
-};
-
-&blsp2_spi6 {
-	/* On High speed expansion */
-	status = "okay";
-};
-
-&blsp2_uart2 {
-	label = "LS-UART1";
-	status = "okay";
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&blsp2_uart2_2pins_default>;
-	pinctrl-1 = <&blsp2_uart2_2pins_sleep>;
-};
-
-&blsp2_uart3 {
-	label = "LS-UART0";
-	status = "disabled";
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&blsp2_uart3_4pins_default>;
-	pinctrl-1 = <&blsp2_uart3_4pins_sleep>;
-};
-
-&camss {
-	vdda-supply = <&vreg_l2a_1p25>;
-};
-
-&gpu {
-	status = "okay";
-};
-
-&gpu_zap_shader {
-	firmware-name = "qcom/apq8096/a530_zap.mbn";
-};
-
-&hsusb_phy1 {
-	status = "okay";
-
-	vdd-supply = <&vreg_l28a_0p925>;
-	vdda-pll-supply = <&vreg_l12a_1p8>;
-	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
-};
-
-&hsusb_phy2 {
-	status = "okay";
-
-	vdd-supply = <&vreg_l28a_0p925>;
-	vdda-pll-supply = <&vreg_l12a_1p8>;
-	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
-};
-
-&mdp {
-	status = "okay";
-};
-
-&mdss {
-	status = "okay";
-};
-
-&mdss_hdmi {
-	status = "okay";
-
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>;
-	pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>;
-
-	core-vdda-supply = <&vreg_l12a_1p8>;
-	core-vcc-supply = <&vreg_s4a_1p8>;
-};
-
-&mdss_hdmi_phy {
-	status = "okay";
-
-	vddio-supply = <&vreg_l12a_1p8>;
-	vcca-supply = <&vreg_l28a_0p925>;
-	#phy-cells = <0>;
-};
-
-&mmcc {
-	vdd-gfx-supply = <&vdd_gfx>;
-};
-
-&mss_pil {
-	status = "okay";
-	pll-supply = <&vreg_l12a_1p8>;
-	firmware-name = "qcom/apq8096/mba.mbn", "qcom/apq8096/modem.mbn";
-};
-
-&pm8994_resin {
-	status = "okay";
-	linux,code = <KEY_VOLUMEDOWN>;
-};
-
-&tlmm {
-	gpio-line-names =
-		"[SPI0_DOUT]", /* GPIO_0, BLSP1_SPI_MOSI, LSEC pin 14 */
-		"[SPI0_DIN]", /* GPIO_1, BLSP1_SPI_MISO, LSEC pin 10 */
-		"[SPI0_CS]", /* GPIO_2, BLSP1_SPI_CS_N, LSEC pin 12 */
-		"[SPI0_SCLK]", /* GPIO_3, BLSP1_SPI_CLK, LSEC pin 8 */
-		"[UART1_TxD]", /* GPIO_4, BLSP8_UART_TX, LSEC pin 11 */
-		"[UART1_RxD]", /* GPIO_5, BLSP8_UART_RX, LSEC pin 13 */
-		"[I2C1_SDA]", /* GPIO_6, BLSP8_I2C_SDA, LSEC pin 21 */
-		"[I2C1_SCL]", /* GPIO_7, BLSP8_I2C_SCL, LSEC pin 19 */
-		"GPIO-H", /* GPIO_8, LCD0_RESET_N, LSEC pin 30 */
-		"TP93", /* GPIO_9 */
-		"GPIO-G", /* GPIO_10, MDP_VSYNC_P, LSEC pin 29 */
-		"[MDP_VSYNC_S]", /* GPIO_11, S HSEC pin 55 */
-		"NC", /* GPIO_12 */
-		"[CSI0_MCLK]", /* GPIO_13, CAM_MCLK0, P HSEC pin 15 */
-		"[CAM_MCLK1]", /* GPIO_14, J14 pin 11 */
-		"[CSI1_MCLK]", /* GPIO_15, CAM_MCLK2, P HSEC pin 17 */
-		"TP99", /* GPIO_16 */
-		"[I2C2_SDA]", /* GPIO_17, CCI_I2C_SDA0, P HSEC pin 34 */
-		"[I2C2_SCL]", /* GPIO_18, CCI_I2C_SCL0, P HSEC pin 32 */
-		"[CCI_I2C_SDA1]", /* GPIO_19, S HSEC pin 38 */
-		"[CCI_I2C_SCL1]", /* GPIO_20, S HSEC pin 36 */
-		"FLASH_STROBE_EN", /* GPIO_21, S HSEC pin 5 */
-		"FLASH_STROBE_TRIG", /* GPIO_22, S HSEC pin 1 */
-		"GPIO-K", /* GPIO_23, CAM2_RST_N, LSEC pin 33 */
-		"GPIO-D", /* GPIO_24, LSEC pin 26 */
-		"GPIO-I", /* GPIO_25, CAM0_RST_N, LSEC pin 31 */
-		"GPIO-J", /* GPIO_26, CAM0_STANDBY_N, LSEC pin 32 */
-		"BLSP6_I2C_SDA", /* GPIO_27 */
-		"BLSP6_I2C_SCL", /* GPIO_28 */
-		"GPIO-B", /* GPIO_29, TS0_RESET_N, LSEC pin 24 */
-		"GPIO30", /* GPIO_30, S HSEC pin 4 */
-		"HDMI_CEC", /* GPIO_31 */
-		"HDMI_DDC_CLOCK", /* GPIO_32 */
-		"HDMI_DDC_DATA", /* GPIO_33 */
-		"HDMI_HOT_PLUG_DETECT", /* GPIO_34 */
-		"PCIE0_RST_N", /* GPIO_35 */
-		"PCIE0_CLKREQ_N", /* GPIO_36 */
-		"PCIE0_WAKE", /* GPIO_37 */
-		"SD_CARD_DET_N", /* GPIO_38 */
-		"TSIF1_SYNC", /* GPIO_39, S HSEC pin 48 */
-		"W_DISABLE_N", /* GPIO_40 */
-		"[BLSP9_UART_TX]", /* GPIO_41 */
-		"[BLSP9_UART_RX]", /* GPIO_42 */
-		"[BLSP2_UART_CTS_N]", /* GPIO_43 */
-		"[BLSP2_UART_RFR_N]", /* GPIO_44 */
-		"[BLSP3_UART_TX]", /* GPIO_45 */
-		"[BLSP3_UART_RX]", /* GPIO_46 */
-		"[I2C0_SDA]", /* GPIO_47, LS_I2C0_SDA, LSEC pin 17 */
-		"[I2C0_SCL]", /* GPIO_48, LS_I2C0_SCL, LSEC pin 15 */
-		"[UART0_TxD]", /* GPIO_49, BLSP9_UART_TX, LSEC pin 5 */
-		"[UART0_RxD]", /* GPIO_50, BLSP9_UART_RX, LSEC pin 7 */
-		"[UART0_CTS]", /* GPIO_51, BLSP9_UART_CTS_N, LSEC pin 3 */
-		"[UART0_RTS]", /* GPIO_52, BLSP9_UART_RFR_N, LSEC pin 9 */
-		"[CODEC_INT1_N]", /* GPIO_53 */
-		"[CODEC_INT2_N]", /* GPIO_54 */
-		"[BLSP7_I2C_SDA]", /* GPIO_55 */
-		"[BLSP7_I2C_SCL]", /* GPIO_56 */
-		"MI2S_MCLK", /* GPIO_57, S HSEC pin 3 */
-		"[PCM_CLK]", /* GPIO_58, QUA_MI2S_SCK, LSEC pin 18 */
-		"[PCM_FS]", /* GPIO_59, QUA_MI2S_WS, LSEC pin 16 */
-		"[PCM_DO]", /* GPIO_60, QUA_MI2S_DATA0, LSEC pin 20 */
-		"[PCM_DI]", /* GPIO_61, QUA_MI2S_DATA1, LSEC pin 22 */
-		"GPIO-E", /* GPIO_62, LSEC pin 27 */
-		"TP87", /* GPIO_63 */
-		"[CODEC_RST_N]", /* GPIO_64 */
-		"[PCM1_CLK]", /* GPIO_65 */
-		"[PCM1_SYNC]", /* GPIO_66 */
-		"[PCM1_DIN]", /* GPIO_67 */
-		"[PCM1_DOUT]", /* GPIO_68 */
-		"AUDIO_REF_CLK", /* GPIO_69 */
-		"SLIMBUS_CLK", /* GPIO_70 */
-		"SLIMBUS_DATA0", /* GPIO_71 */
-		"SLIMBUS_DATA1", /* GPIO_72 */
-		"NC", /* GPIO_73 */
-		"NC", /* GPIO_74 */
-		"NC", /* GPIO_75 */
-		"NC", /* GPIO_76 */
-		"TP94", /* GPIO_77 */
-		"NC", /* GPIO_78 */
-		"TP95", /* GPIO_79 */
-		"GPIO-A", /* GPIO_80, MEMS_RESET_N, LSEC pin 23 */
-		"TP88", /* GPIO_81 */
-		"TP89", /* GPIO_82 */
-		"TP90", /* GPIO_83 */
-		"TP91", /* GPIO_84 */
-		"[SD_DAT0]", /* GPIO_85, BLSP12_SPI_MOSI, P HSEC pin 1 */
-		"[SD_CMD]", /* GPIO_86, BLSP12_SPI_MISO, P HSEC pin 11 */
-		"[SD_DAT3]", /* GPIO_87, BLSP12_SPI_CS_N, P HSEC pin 7 */
-		"[SD_SCLK]", /* GPIO_88, BLSP12_SPI_CLK, P HSEC pin 9 */
-		"TSIF1_CLK", /* GPIO_89, S HSEC pin 42 */
-		"TSIF1_EN", /* GPIO_90, S HSEC pin 46 */
-		"TSIF1_DATA", /* GPIO_91, S HSEC pin 44 */
-		"NC", /* GPIO_92 */
-		"TSIF2_CLK", /* GPIO_93, S HSEC pin 52 */
-		"TSIF2_EN", /* GPIO_94, S HSEC pin 56 */
-		"TSIF2_DATA", /* GPIO_95, S HSEC pin 54 */
-		"TSIF2_SYNC", /* GPIO_96, S HSEC pin 58 */
-		"NC", /* GPIO_97 */
-		"CAM1_STANDBY_N", /* GPIO_98 */
-		"NC", /* GPIO_99 */
-		"NC", /* GPIO_100 */
-		"[LCD1_RESET_N]", /* GPIO_101, S HSEC pin 51 */
-		"BOOT_CONFIG1", /* GPIO_102 */
-		"USB_HUB_RESET", /* GPIO_103 */
-		"CAM1_RST_N", /* GPIO_104 */
-		"NC", /* GPIO_105 */
-		"NC", /* GPIO_106 */
-		"NC", /* GPIO_107 */
-		"NC", /* GPIO_108 */
-		"NC", /* GPIO_109 */
-		"NC", /* GPIO_110 */
-		"NC", /* GPIO_111 */
-		"NC", /* GPIO_112 */
-		"PMI8994_BUA", /* GPIO_113 */
-		"PCIE2_RST_N", /* GPIO_114 */
-		"PCIE2_CLKREQ_N", /* GPIO_115 */
-		"PCIE2_WAKE", /* GPIO_116 */
-		"SSC_IRQ_0", /* GPIO_117 */
-		"SSC_IRQ_1", /* GPIO_118 */
-		"SSC_IRQ_2", /* GPIO_119 */
-		"NC", /* GPIO_120 */
-		"GPIO121", /* GPIO_121, S HSEC pin 2 */
-		"NC", /* GPIO_122 */
-		"SSC_IRQ_6", /* GPIO_123 */
-		"SSC_IRQ_7", /* GPIO_124 */
-		"GPIO-C", /* GPIO_125, TS_INT0, LSEC pin 25 */
-		"BOOT_CONFIG5", /* GPIO_126 */
-		"NC", /* GPIO_127 */
-		"NC", /* GPIO_128 */
-		"BOOT_CONFIG7", /* GPIO_129 */
-		"PCIE1_RST_N", /* GPIO_130 */
-		"PCIE1_CLKREQ_N", /* GPIO_131 */
-		"PCIE1_WAKE", /* GPIO_132 */
-		"GPIO-L", /* GPIO_133, CAM2_STANDBY_N, LSEC pin 34 */
-		"NC", /* GPIO_134 */
-		"NC", /* GPIO_135 */
-		"BOOT_CONFIG8", /* GPIO_136 */
-		"NC", /* GPIO_137 */
-		"NC", /* GPIO_138 */
-		"GPS_SSBI2", /* GPIO_139 */
-		"GPS_SSBI1", /* GPIO_140 */
-		"NC", /* GPIO_141 */
-		"NC", /* GPIO_142 */
-		"NC", /* GPIO_143 */
-		"BOOT_CONFIG6", /* GPIO_144 */
-		"NC", /* GPIO_145 */
-		"NC", /* GPIO_146 */
-		"NC", /* GPIO_147 */
-		"NC", /* GPIO_148 */
-		"NC"; /* GPIO_149 */
-
-	sdc2_cd_on: sdc2-cd-on-state {
-		pins = "gpio38";
-		function = "gpio";
-		bias-pull-up;
-		drive-strength = <16>;
-	};
-
-	sdc2_cd_off: sdc2-cd-off-state {
-		pins = "gpio38";
-		function = "gpio";
-		bias-pull-up;
-		drive-strength = <2>;
-	};
-
-	hdmi_hpd_active: hdmi-hpd-active-state {
-		pins = "gpio34";
-		function = "hdmi_hot";
-		bias-pull-down;
-		drive-strength = <16>;
-	};
-
-	hdmi_hpd_suspend: hdmi-hpd-suspend-state {
-		pins = "gpio34";
-		function = "hdmi_hot";
-		bias-pull-down;
-		drive-strength = <2>;
-	};
-
-	hdmi_ddc_active: hdmi-ddc-active-state {
-		pins = "gpio32", "gpio33";
-		function = "hdmi_ddc";
-		drive-strength = <2>;
-		bias-pull-up;
-	};
-
-	hdmi_ddc_suspend: hdmi-ddc-suspend-state {
-		pins = "gpio32", "gpio33";
-		function = "hdmi_ddc";
-		drive-strength = <2>;
-		bias-pull-down;
-	};
-};
-
-&pcie0 {
-	status = "okay";
-	perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
-	vddpe-3v3-supply = <&wlan_en>;
-	vdda-supply = <&vreg_l28a_0p925>;
-};
-
-&pcie1 {
-	status = "okay";
-	perst-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>;
-	vdda-supply = <&vreg_l28a_0p925>;
-};
-
-&pcie2 {
-	status = "okay";
-	perst-gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
-	vdda-supply = <&vreg_l28a_0p925>;
-};
-
-&pcie_phy {
-	status = "okay";
-
-	vdda-phy-supply = <&vreg_l28a_0p925>;
-	vdda-pll-supply = <&vreg_l12a_1p8>;
-};
-
-&pm8994_gpios {
-	gpio-line-names =
-		"NC",
-		"KEY_VOLP_N",
-		"NC",
-		"BL1_PWM",
-		"GPIO-F", /* BL0_PWM, LSEC pin 28 */
-		"BL1_EN",
-		"NC",
-		"WLAN_EN",
-		"NC",
-		"NC",
-		"NC",
-		"NC",
-		"NC",
-		"NC",
-		"DIVCLK1",
-		"DIVCLK2",
-		"DIVCLK3",
-		"DIVCLK4",
-		"BT_EN",
-		"PMIC_SLB",
-		"PMIC_BUA",
-		"USB_VBUS_DET";
-
-	pinctrl-names = "default";
-	pinctrl-0 = <&ls_exp_gpio_f &bt_en_gpios>;
-
-	ls_exp_gpio_f: pm8994-gpio5-state {
-		pinconf {
-			pins = "gpio5";
-			function = PMIC_GPIO_FUNC_NORMAL;
-			output-low;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-		};
-	};
-
-	bt_en_gpios: bt-en-pios-state {
-		pinconf {
-			pins = "gpio19";
-			function = PMIC_GPIO_FUNC_NORMAL;
-			output-low;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
-			bias-pull-down;
-		};
-	};
-
-	wlan_en_gpios: wlan-en-gpios-state {
-		pinconf {
-			pins = "gpio8";
-			function = PMIC_GPIO_FUNC_NORMAL;
-			output-low;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
-			bias-pull-down;
-		};
-	};
-
-	audio_mclk: clk-div1-state {
-		pinconf {
-			pins = "gpio15";
-			function = "func1";
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-		};
-	};
-
-	volume_up_gpio: pm8996-gpio2-state {
-		pinconf {
-			pins = "gpio2";
-			function = "normal";
-			input-enable;
-			drive-push-pull;
-			bias-pull-up;
-			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-		};
-	};
-
-	divclk4_pin_a: divclk4-state {
-		pinconf {
-			pins = "gpio18";
-			function = PMIC_GPIO_FUNC_FUNC2;
-
-			bias-disable;
-			power-source = <PM8994_GPIO_S4>;
-		};
-	};
-
-	usb3_vbus_det_gpio: pm8996-gpio22-state {
-		pinconf {
-			pins = "gpio22";
-			function = PMIC_GPIO_FUNC_NORMAL;
-			input-enable;
-			bias-pull-down;
-			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-		};
-	};
-};
-
-&pm8994_mpps {
-	gpio-line-names =
-		"VDDPX_BIAS",
-		"WIFI_LED",
-		"NC",
-		"BT_LED",
-		"PM_MPP05",
-		"PM_MPP06",
-		"PM_MPP07",
-		"NC";
-};
-
-&pm8994_spmi_regulators {
-	qcom,saw-reg = <&saw3>;
-	vdd_s11-supply = <&vph_pwr>;
-
-	s9 {
-		qcom,saw-slave;
-	};
-	s10 {
-		qcom,saw-slave;
-	};
-	s11 {
-		qcom,saw-leader;
-		regulator-name = "VDD_APCC";
-		regulator-always-on;
-		regulator-min-microvolt = <980000>;
-		regulator-max-microvolt = <980000>;
-	};
-};
-
-&pmi8994_gpios {
-	gpio-line-names =
-		"NC",
-		"SPKR_AMP_EN1",
-		"SPKR_AMP_EN2",
-		"TP61",
-		"NC",
-		"USB2_VBUS_DET",
-		"NC",
-		"NC",
-		"NC",
-		"NC";
-
-	usb2_vbus_det_gpio: pmi8996-gpio6-state {
-		pinconf {
-			pins = "gpio6";
-			function = PMIC_GPIO_FUNC_NORMAL;
-			input-enable;
-			bias-pull-down;
-			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
-			power-source = <PM8994_GPIO_S4>; /* 1.8V */
-		};
-	};
-};
-
-&pmi8994_lpg {
-	qcom,power-source = <1>;
-
-	pinctrl-names = "default";
-	pinctrl-0 = <&pmi8994_mpp2_userled4>;
-
-	qcom,dtest = <0 0>,
-		     <0 0>,
-		     <0 0>,
-		     <4 1>;
-
-	status = "okay";
-
-	led@1 {
-		reg = <1>;
-		color = <LED_COLOR_ID_GREEN>;
-		function = LED_FUNCTION_HEARTBEAT;
-		function-enumerator = <1>;
-
-		linux,default-trigger = "heartbeat";
-		default-state = "on";
-	};
-
-	led@2 {
-		reg = <2>;
-		color = <LED_COLOR_ID_GREEN>;
-		function = LED_FUNCTION_HEARTBEAT;
-		function-enumerator = <0>;
-	};
-
-	led@3 {
-		reg = <3>;
-		color = <LED_COLOR_ID_GREEN>;
-		function = LED_FUNCTION_HEARTBEAT;
-		function-enumerator = <2>;
-	};
-
-	led@4 {
-		reg = <4>;
-		color = <LED_COLOR_ID_GREEN>;
-		function = LED_FUNCTION_HEARTBEAT;
-		function-enumerator = <3>;
-	};
-};
-
-&pmi8994_mpps {
-	pmi8994_mpp2_userled4: mpp2-userled4-state {
-		pins = "mpp2";
-		function = "sink";
-
-		output-low;
-		qcom,dtest = <4>;
-	};
-};
-
-&pmi8994_spmi_regulators {
-	vdd_s2-supply = <&vph_pwr>;
-
-	vdd_gfx: s2 {
-		regulator-name = "VDD_GFX";
-		regulator-min-microvolt = <980000>;
-		regulator-max-microvolt = <980000>;
-	};
-};
-
-&rpm_requests {
-	regulators-0 {
-		compatible = "qcom,rpm-pm8994-regulators";
-
-		vdd_s1-supply = <&vph_pwr>;
-		vdd_s2-supply = <&vph_pwr>;
-		vdd_s3-supply = <&vph_pwr>;
-		vdd_s4-supply = <&vph_pwr>;
-		vdd_s5-supply = <&vph_pwr>;
-		vdd_s6-supply = <&vph_pwr>;
-		vdd_s7-supply = <&vph_pwr>;
-		vdd_s8-supply = <&vph_pwr>;
-		vdd_s9-supply = <&vph_pwr>;
-		vdd_s10-supply = <&vph_pwr>;
-		vdd_s11-supply = <&vph_pwr>;
-		vdd_s12-supply = <&vph_pwr>;
-		vdd_l1-supply = <&vreg_s1b_1p025>;
-		vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
-		vdd_l3_l11-supply = <&vreg_s3a_1p3>;
-		vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
-		vdd_l5_l7-supply = <&vreg_s5a_2p15>;
-		vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
-		vdd_l8_l16_l30-supply = <&vph_pwr>;
-		vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
-		vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
-		vdd_l14_l15-supply = <&vreg_s5a_2p15>;
-		vdd_l17_l29-supply = <&vph_pwr_bbyp>;
-		vdd_l20_l21-supply = <&vph_pwr_bbyp>;
-		vdd_l25-supply = <&vreg_s3a_1p3>;
-		vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
-
-		vreg_s3a_1p3: s3 {
-			regulator-name = "vreg_s3a_1p3";
-			regulator-min-microvolt = <1300000>;
-			regulator-max-microvolt = <1300000>;
-		};
-
-		/**
-		 * 1.8v required on LS expansion
-		 * for mezzanine boards
-		 */
-		vreg_s4a_1p8: s4 {
-			regulator-name = "vreg_s4a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-always-on;
-		};
-		vreg_s5a_2p15: s5 {
-			regulator-name = "vreg_s5a_2p15";
-			regulator-min-microvolt = <2150000>;
-			regulator-max-microvolt = <2150000>;
-		};
-		vreg_s7a_1p0: s7 {
-			regulator-name = "vreg_s7a_1p0";
-			regulator-min-microvolt = <800000>;
-			regulator-max-microvolt = <800000>;
-		};
-
-		vreg_l1a_1p0: l1 {
-			regulator-name = "vreg_l1a_1p0";
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1000000>;
-		};
-		vreg_l2a_1p25: l2 {
-			regulator-name = "vreg_l2a_1p25";
-			regulator-min-microvolt = <1250000>;
-			regulator-max-microvolt = <1250000>;
-		};
-		vreg_l3a_0p875: l3 {
-			regulator-name = "vreg_l3a_0p875";
-			regulator-min-microvolt = <850000>;
-			regulator-max-microvolt = <850000>;
-		};
-		vreg_l4a_1p225: l4 {
-			regulator-name = "vreg_l4a_1p225";
-			regulator-min-microvolt = <1225000>;
-			regulator-max-microvolt = <1225000>;
-		};
-		vreg_l6a_1p2: l6 {
-			regulator-name = "vreg_l6a_1p2";
-			regulator-min-microvolt = <1200000>;
-			regulator-max-microvolt = <1200000>;
-		};
-		vreg_l8a_1p8: l8 {
-			regulator-name = "vreg_l8a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l9a_1p8: l9 {
-			regulator-name = "vreg_l9a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l10a_1p8: l10 {
-			regulator-name = "vreg_l10a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l11a_1p15: l11 {
-			regulator-name = "vreg_l11a_1p15";
-			regulator-min-microvolt = <1150000>;
-			regulator-max-microvolt = <1150000>;
-		};
-		vreg_l12a_1p8: l12 {
-			regulator-name = "vreg_l12a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l13a_2p95: l13 {
-			regulator-name = "vreg_l13a_2p95";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <2950000>;
-		};
-		vreg_l14a_1p8: l14 {
-			regulator-name = "vreg_l14a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l15a_1p8: l15 {
-			regulator-name = "vreg_l15a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l16a_2p7: l16 {
-			regulator-name = "vreg_l16a_2p7";
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <2700000>;
-		};
-		vreg_l17a_2p8: l17 {
-			regulator-name = "vreg_l17a_2p8";
-			regulator-min-microvolt = <2500000>;
-			regulator-max-microvolt = <2500000>;
-		};
-		vreg_l18a_2p85: l18 {
-			regulator-name = "vreg_l18a_2p85";
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <2900000>;
-		};
-		vreg_l19a_2p8: l19 {
-			regulator-name = "vreg_l19a_2p8";
-			regulator-min-microvolt = <3000000>;
-			regulator-max-microvolt = <3000000>;
-		};
-		vreg_l20a_2p95: l20 {
-			regulator-name = "vreg_l20a_2p95";
-			regulator-min-microvolt = <2950000>;
-			regulator-max-microvolt = <2950000>;
-			regulator-allow-set-load;
-		};
-		vreg_l21a_2p95: l21 {
-			regulator-name = "vreg_l21a_2p95";
-			regulator-min-microvolt = <2950000>;
-			regulator-max-microvolt = <2950000>;
-			regulator-allow-set-load;
-			regulator-system-load = <200000>;
-		};
-		vreg_l22a_3p0: l22 {
-			regulator-name = "vreg_l22a_3p0";
-			regulator-min-microvolt = <3300000>;
-			regulator-max-microvolt = <3300000>;
-		};
-		vreg_l23a_2p8: l23 {
-			regulator-name = "vreg_l23a_2p8";
-			regulator-min-microvolt = <2800000>;
-			regulator-max-microvolt = <2800000>;
-		};
-		vreg_l24a_3p075: l24 {
-			regulator-name = "vreg_l24a_3p075";
-			regulator-min-microvolt = <3075000>;
-			regulator-max-microvolt = <3075000>;
-		};
-		vreg_l25a_1p2: l25 {
-			regulator-name = "vreg_l25a_1p2";
-			regulator-min-microvolt = <1200000>;
-			regulator-max-microvolt = <1200000>;
-			regulator-allow-set-load;
-		};
-		vreg_l26a_0p8: l27 {
-			regulator-name = "vreg_l26a_0p8";
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1000000>;
-		};
-		vreg_l28a_0p925: l28 {
-			regulator-name = "vreg_l28a_0p925";
-			regulator-min-microvolt = <925000>;
-			regulator-max-microvolt = <925000>;
-			regulator-allow-set-load;
-		};
-		vreg_l29a_2p8: l29 {
-			regulator-name = "vreg_l29a_2p8";
-			regulator-min-microvolt = <2800000>;
-			regulator-max-microvolt = <2800000>;
-		};
-		vreg_l30a_1p8: l30 {
-			regulator-name = "vreg_l30a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-		vreg_l32a_1p8: l32 {
-			regulator-name = "vreg_l32a_1p8";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-
-		vreg_lvs1a_1p8: lvs1 {
-			regulator-name = "vreg_lvs1a_1p8";
-		};
-
-		vreg_lvs2a_1p8: lvs2 {
-			regulator-name = "vreg_lvs2a_1p8";
-		};
-	};
-
-	regulators-1 {
-		compatible = "qcom,rpm-pmi8994-regulators";
-
-		vdd_s1-supply = <&vph_pwr>;
-		vdd_s2-supply = <&vph_pwr>;
-		vdd_s3-supply = <&vph_pwr>;
-		vdd_bst_byp-supply = <&vph_pwr>;
-
-		vph_pwr_bbyp: boost-bypass {
-			regulator-name = "vph_pwr_bbyp";
-			regulator-min-microvolt = <3300000>;
-			regulator-max-microvolt = <3300000>;
-		};
-
-		vreg_s1b_1p025: s1 {
-			regulator-name = "vreg_s1b_1p025";
-			regulator-min-microvolt = <1025000>;
-			regulator-max-microvolt = <1025000>;
-		};
-	};
-};
-
-&sdhc2 {
-	/* External SD card */
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&sdc2_state_on &sdc2_cd_on>;
-	pinctrl-1 = <&sdc2_state_off &sdc2_cd_off>;
-	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
-	vmmc-supply = <&vreg_l21a_2p95>;
-	vqmmc-supply = <&vreg_l13a_2p95>;
-	status = "okay";
-};
-
-&q6asmdai {
-	dai@0 {
-		reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
-	};
-
-	dai@1 {
-		reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
-	};
-
-	dai@2 {
-		reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
-	};
-};
-
-&slim_msm {
-	status = "okay";
-
-	slim@1 {
-		reg = <1>;
-		#address-cells = <2>;
-		#size-cells = <0>;
-
-		tasha_ifd: tas-ifd@0,0 {
-			compatible = "slim217,1a0";
-			reg = <0 0>;
-		};
-
-		wcd9335: codec@1,0 {
-			compatible = "slim217,1a0";
-			reg = <1 0>;
-
-			clock-names = "mclk", "slimbus";
-			clocks = <&div1_mclk>,
-				 <&rpmcc RPM_SMD_BB_CLK1>;
-			interrupt-parent = <&tlmm>;
-			interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
-				     <53 IRQ_TYPE_LEVEL_HIGH>;
-			interrupt-names = "intr1", "intr2";
-			interrupt-controller;
-			#interrupt-cells = <1>;
-
-			pinctrl-0 = <&cdc_reset_active &wcd_intr_default>;
-			pinctrl-names = "default";
-
-			reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
-			slim-ifc-dev = <&tasha_ifd>;
-
-			#sound-dai-cells = <1>;
-
-			vdd-buck-supply = <&vreg_s4a_1p8>;
-			vdd-buck-sido-supply = <&vreg_s4a_1p8>;
-			vdd-tx-supply = <&vreg_s4a_1p8>;
-			vdd-rx-supply = <&vreg_s4a_1p8>;
-			vdd-io-supply = <&vreg_s4a_1p8>;
-		};
-	};
-};
-
-&sound {
-	compatible = "qcom,apq8096-sndcard";
-	model = "DB820c";
-	audio-routing = "RX_BIAS", "MCLK";
-
-	mm1-dai-link {
-		link-name = "MultiMedia1";
-		cpu {
-			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
-		};
-	};
-
-	mm2-dai-link {
-		link-name = "MultiMedia2";
-		cpu {
-			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
-		};
-	};
-
-	mm3-dai-link {
-		link-name = "MultiMedia3";
-		cpu {
-			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
-		};
-	};
-
-	hdmi-dai-link {
-		link-name = "HDMI";
-		cpu {
-			sound-dai = <&q6afedai HDMI_RX>;
-		};
-
-		platform {
-			sound-dai = <&q6routing>;
-		};
-
-		codec {
-			sound-dai = <&mdss_hdmi 0>;
-		};
-	};
-
-	slim-dai-link {
-		link-name = "SLIM Playback";
-		cpu {
-			sound-dai = <&q6afedai SLIMBUS_6_RX>;
-		};
-
-		platform {
-			sound-dai = <&q6routing>;
-		};
-
-		codec {
-			sound-dai = <&wcd9335 AIF4_PB>;
-		};
-	};
-
-	slimcap-dai-link {
-		link-name = "SLIM Capture";
-		cpu {
-			sound-dai = <&q6afedai SLIMBUS_0_TX>;
-		};
-
-		platform {
-			sound-dai = <&q6routing>;
-		};
-
-		codec {
-			sound-dai = <&wcd9335 AIF1_CAP>;
-		};
-	};
-};
-
-&ufsphy {
-	status = "okay";
-
-	vdda-phy-supply = <&vreg_l28a_0p925>;
-	vdda-pll-supply = <&vreg_l12a_1p8>;
-};
-
-&ufshc {
-	status = "okay";
-
-	vcc-supply = <&vreg_l20a_2p95>;
-	vccq-supply = <&vreg_l25a_1p2>;
-	vccq2-supply = <&vreg_s4a_1p8>;
-	vdd-hba-supply = <&vreg_l25a_1p2>;
-
-	vcc-max-microamp = <600000>;
-	vccq-max-microamp = <450000>;
-	vccq2-max-microamp = <450000>;
-};
-
-&usb2 {
-	status = "okay";
-	extcon = <&usb2_id>;
-};
-
-&usb2_dwc3 {
-	extcon = <&usb2_id>;
-	dr_mode = "otg";
-	maximum-speed = "high-speed";
-};
-
-&usb3 {
-	status = "okay";
-	extcon = <&usb3_id>;
-};
-
-&usb3_dwc3 {
-	extcon = <&usb3_id>;
-	dr_mode = "otg";
-};
-
-&usb3phy {
-	status = "okay";
-
-	vdda-phy-supply = <&vreg_l28a_0p925>;
-	vdda-pll-supply = <&vreg_l12a_1p8>;
-};
-
-&venus {
-	status = "okay";
 };
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
similarity index 99%
copy from arch/arm64/boot/dts/qcom/apq8096-db820c.dts
copy to arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
index 9fa70ff6887b78caf1826f653a5caccd9653269c..0c076852b4946a4d1b67b25dff434cf207469acb 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
@@ -3,9 +3,7 @@
  * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
  */
 
-/dts-v1/;
 
-#include "msm8996.dtsi"
 #include "pm8994.dtsi"
 #include "pmi8994.dtsi"
 #include <dt-bindings/input/input.h>
@@ -44,9 +42,6 @@
  */
 
 / {
-	model = "Qualcomm Technologies, Inc. DB820c";
-	compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096";
-
 	aliases {
 		serial0 = &blsp2_uart2;
 		serial1 = &blsp2_uart3;
diff --git a/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts
new file mode 100644
index 0000000000000000000000000000000000000000..f3ab5a7c6e53a1925fa6e11ae7acf940d47dc4ee
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "msm8996pro.dtsi"
+#include "apq8096-db820c.dtsi"
+
+/ {
+	model = "Qualcomm Technologies, Inc. DB820c";
+	compatible = "arrow,apq8096sg-db820c", "arrow,apq8096-db820c",
+		"qcom,apq8096-sbc", "qcom,apq8096sg", "qcom,apq8096";
+};

-- 
2.47.3
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Konrad Dybcio 2 months, 4 weeks ago
On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
> version of the SoC, with the major difference being CPU and GPU clock
> tables. Add a DT file representing this version of the board.

So is the conclusion that both flavors were used?

This product brief

https://cdn.lantronix.com/wp-content/uploads/pdf/Open-Q_820_Development_Kit_Quick_Start_Guide.pdf

suggests it was the SG all along, FWIW

Konrad

> 
> 01:13:26.275: B -    417880 - 8996 Pro v1.x detected, Max frequency = 1.8 GHz
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile                  |    1 +
>  arch/arm64/boot/dts/qcom/apq8096-db820c.dts        | 1126 +-------------------
>  .../{apq8096-db820c.dts => apq8096-db820c.dtsi}    |    5 -
>  arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts      |   15 +
>  4 files changed, 17 insertions(+), 1130 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6f34d5ed331c4cc5ec01de7a0ecbc45f64c3ee15..c3ad5c3cd659198a6bc88bf07d6939977937f5d1 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -12,6 +12,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-schneider-hmibsc.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= apq8039-t2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= apq8094-sony-xperia-kitakami-karin_windy.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-db820c.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= apq8096sg-db820c.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-ifc6640.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= ipq5018-rdp432-c2.dtb
> diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> index 9fa70ff6887b78caf1826f653a5caccd9653269c..47b4568e4039117e3bf6e08ffa8a2c8198d748b1 100644
> --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> @@ -6,1133 +6,9 @@
>  /dts-v1/;
>  
>  #include "msm8996.dtsi"
> -#include "pm8994.dtsi"
> -#include "pmi8994.dtsi"
> -#include <dt-bindings/input/input.h>
> -#include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/leds/common.h>
> -#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> -#include <dt-bindings/sound/qcom,q6afe.h>
> -#include <dt-bindings/sound/qcom,q6asm.h>
> -#include <dt-bindings/sound/qcom,wcd9335.h>
> -
> -/*
> - * GPIO name legend: proper name = the GPIO line is used as GPIO
> - *         NC      = not connected (pin out but not routed from the chip to
> - *                   anything the board)
> - *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
> - *         LSEC    = Low Speed External Connector
> - *         P HSEC  = Primary High Speed External Connector
> - *         S HSEC  = Secondary High Speed External Connector
> - *         J14     = Camera Connector
> - *         TP      = Test Points
> - *
> - * Line names are taken from the schematic "DragonBoard 820c",
> - * drawing no: LM25-P2751-1
> - *
> - * For the lines routed to the external connectors the
> - * lines are named after the 96Boards CE Specification 1.0,
> - * Appendix "Expansion Connector Signal Description".
> - *
> - * When the 96Board naming of a line and the schematic name of
> - * the same line are in conflict, the 96Board specification
> - * takes precedence, which means that the external UART on the
> - * LSEC is named UART0 while the schematic and SoC names this
> - * UART3. This is only for the informational lines i.e. "[FOO]",
> - * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
> - * ones actually used for GPIO.
> - */
> +#include "apq8096-db820c.dtsi"
>  
>  / {
>  	model = "Qualcomm Technologies, Inc. DB820c";
>  	compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096";
> -
> -	aliases {
> -		serial0 = &blsp2_uart2;
> -		serial1 = &blsp2_uart3;
> -		serial2 = &blsp1_uart2;
> -		i2c0 = &blsp1_i2c3;
> -		i2c1 = &blsp2_i2c1;
> -		i2c2 = &blsp2_i2c1;
> -		spi0 = &blsp1_spi1;
> -		spi1 = &blsp2_spi6;
> -	};
> -
> -	chosen {
> -		stdout-path = "serial0:115200n8";
> -	};
> -
> -	div1_mclk: divclk1 {
> -		compatible = "gpio-gate-clock";
> -		pinctrl-0 = <&audio_mclk>;
> -		pinctrl-names = "default";
> -		clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
> -		#clock-cells = <0>;
> -		enable-gpios = <&pm8994_gpios 15 0>;
> -	};
> -
> -	divclk4: divclk4 {
> -		compatible = "fixed-clock";
> -		#clock-cells = <0>;
> -		clock-frequency = <32768>;
> -		clock-output-names = "divclk4";
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&divclk4_pin_a>;
> -	};
> -
> -	gpio-keys {
> -		compatible = "gpio-keys";
> -		autorepeat;
> -
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&volume_up_gpio>;
> -
> -		button {
> -			label = "Volume Up";
> -			linux,code = <KEY_VOLUMEUP>;
> -			gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
> -		};
> -	};
> -
> -	usb2_id: usb2-id {
> -		compatible = "linux,extcon-usb-gpio";
> -		id-gpios = <&pmi8994_gpios 6 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&usb2_vbus_det_gpio>;
> -	};
> -
> -	usb3_id: usb3-id {
> -		compatible = "linux,extcon-usb-gpio";
> -		id-gpios = <&pm8994_gpios 22 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&usb3_vbus_det_gpio>;
> -	};
> -
> -	vph_pwr: vph-pwr-regulator {
> -		compatible = "regulator-fixed";
> -		regulator-name = "vph_pwr";
> -		regulator-always-on;
> -		regulator-boot-on;
> -
> -		regulator-min-microvolt = <3700000>;
> -		regulator-max-microvolt = <3700000>;
> -	};
> -
> -	wlan_en: wlan-en-1-8v {
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&wlan_en_gpios>;
> -		compatible = "regulator-fixed";
> -		regulator-name = "wlan-en-regulator";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -
> -		gpio = <&pm8994_gpios 8 0>;
> -
> -		/* WLAN card specific delay */
> -		startup-delay-us = <70000>;
> -		enable-active-high;
> -	};
> -};
> -
> -&blsp1_i2c3 {
> -	/* On Low speed expansion: LS-I2C0 */
> -	status = "okay";
> -};
> -
> -&blsp1_spi1 {
> -	/* On Low speed expansion */
> -	status = "okay";
> -};
> -
> -&blsp1_uart2 {
> -	label = "BT-UART";
> -	status = "okay";
> -
> -	bluetooth {
> -		compatible = "qcom,qca6174-bt";
> -
> -		/* bt_disable_n gpio */
> -		enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
> -
> -		clocks = <&divclk4>;
> -	};
> -};
> -
> -&adsp_pil {
> -	status = "okay";
> -	firmware-name = "qcom/apq8096/adsp.mbn";
> -};
> -
> -&blsp2_i2c1 {
> -	/* On High speed expansion: HS-I2C2 */
> -	status = "okay";
> -};
> -
> -&blsp2_i2c1 {
> -	/* On Low speed expansion: LS-I2C1 */
> -	status = "okay";
> -};
> -
> -&blsp2_spi6 {
> -	/* On High speed expansion */
> -	status = "okay";
> -};
> -
> -&blsp2_uart2 {
> -	label = "LS-UART1";
> -	status = "okay";
> -	pinctrl-names = "default", "sleep";
> -	pinctrl-0 = <&blsp2_uart2_2pins_default>;
> -	pinctrl-1 = <&blsp2_uart2_2pins_sleep>;
> -};
> -
> -&blsp2_uart3 {
> -	label = "LS-UART0";
> -	status = "disabled";
> -	pinctrl-names = "default", "sleep";
> -	pinctrl-0 = <&blsp2_uart3_4pins_default>;
> -	pinctrl-1 = <&blsp2_uart3_4pins_sleep>;
> -};
> -
> -&camss {
> -	vdda-supply = <&vreg_l2a_1p25>;
> -};
> -
> -&gpu {
> -	status = "okay";
> -};
> -
> -&gpu_zap_shader {
> -	firmware-name = "qcom/apq8096/a530_zap.mbn";
> -};
> -
> -&hsusb_phy1 {
> -	status = "okay";
> -
> -	vdd-supply = <&vreg_l28a_0p925>;
> -	vdda-pll-supply = <&vreg_l12a_1p8>;
> -	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
> -};
> -
> -&hsusb_phy2 {
> -	status = "okay";
> -
> -	vdd-supply = <&vreg_l28a_0p925>;
> -	vdda-pll-supply = <&vreg_l12a_1p8>;
> -	vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
> -};
> -
> -&mdp {
> -	status = "okay";
> -};
> -
> -&mdss {
> -	status = "okay";
> -};
> -
> -&mdss_hdmi {
> -	status = "okay";
> -
> -	pinctrl-names = "default", "sleep";
> -	pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>;
> -	pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>;
> -
> -	core-vdda-supply = <&vreg_l12a_1p8>;
> -	core-vcc-supply = <&vreg_s4a_1p8>;
> -};
> -
> -&mdss_hdmi_phy {
> -	status = "okay";
> -
> -	vddio-supply = <&vreg_l12a_1p8>;
> -	vcca-supply = <&vreg_l28a_0p925>;
> -	#phy-cells = <0>;
> -};
> -
> -&mmcc {
> -	vdd-gfx-supply = <&vdd_gfx>;
> -};
> -
> -&mss_pil {
> -	status = "okay";
> -	pll-supply = <&vreg_l12a_1p8>;
> -	firmware-name = "qcom/apq8096/mba.mbn", "qcom/apq8096/modem.mbn";
> -};
> -
> -&pm8994_resin {
> -	status = "okay";
> -	linux,code = <KEY_VOLUMEDOWN>;
> -};
> -
> -&tlmm {
> -	gpio-line-names =
> -		"[SPI0_DOUT]", /* GPIO_0, BLSP1_SPI_MOSI, LSEC pin 14 */
> -		"[SPI0_DIN]", /* GPIO_1, BLSP1_SPI_MISO, LSEC pin 10 */
> -		"[SPI0_CS]", /* GPIO_2, BLSP1_SPI_CS_N, LSEC pin 12 */
> -		"[SPI0_SCLK]", /* GPIO_3, BLSP1_SPI_CLK, LSEC pin 8 */
> -		"[UART1_TxD]", /* GPIO_4, BLSP8_UART_TX, LSEC pin 11 */
> -		"[UART1_RxD]", /* GPIO_5, BLSP8_UART_RX, LSEC pin 13 */
> -		"[I2C1_SDA]", /* GPIO_6, BLSP8_I2C_SDA, LSEC pin 21 */
> -		"[I2C1_SCL]", /* GPIO_7, BLSP8_I2C_SCL, LSEC pin 19 */
> -		"GPIO-H", /* GPIO_8, LCD0_RESET_N, LSEC pin 30 */
> -		"TP93", /* GPIO_9 */
> -		"GPIO-G", /* GPIO_10, MDP_VSYNC_P, LSEC pin 29 */
> -		"[MDP_VSYNC_S]", /* GPIO_11, S HSEC pin 55 */
> -		"NC", /* GPIO_12 */
> -		"[CSI0_MCLK]", /* GPIO_13, CAM_MCLK0, P HSEC pin 15 */
> -		"[CAM_MCLK1]", /* GPIO_14, J14 pin 11 */
> -		"[CSI1_MCLK]", /* GPIO_15, CAM_MCLK2, P HSEC pin 17 */
> -		"TP99", /* GPIO_16 */
> -		"[I2C2_SDA]", /* GPIO_17, CCI_I2C_SDA0, P HSEC pin 34 */
> -		"[I2C2_SCL]", /* GPIO_18, CCI_I2C_SCL0, P HSEC pin 32 */
> -		"[CCI_I2C_SDA1]", /* GPIO_19, S HSEC pin 38 */
> -		"[CCI_I2C_SCL1]", /* GPIO_20, S HSEC pin 36 */
> -		"FLASH_STROBE_EN", /* GPIO_21, S HSEC pin 5 */
> -		"FLASH_STROBE_TRIG", /* GPIO_22, S HSEC pin 1 */
> -		"GPIO-K", /* GPIO_23, CAM2_RST_N, LSEC pin 33 */
> -		"GPIO-D", /* GPIO_24, LSEC pin 26 */
> -		"GPIO-I", /* GPIO_25, CAM0_RST_N, LSEC pin 31 */
> -		"GPIO-J", /* GPIO_26, CAM0_STANDBY_N, LSEC pin 32 */
> -		"BLSP6_I2C_SDA", /* GPIO_27 */
> -		"BLSP6_I2C_SCL", /* GPIO_28 */
> -		"GPIO-B", /* GPIO_29, TS0_RESET_N, LSEC pin 24 */
> -		"GPIO30", /* GPIO_30, S HSEC pin 4 */
> -		"HDMI_CEC", /* GPIO_31 */
> -		"HDMI_DDC_CLOCK", /* GPIO_32 */
> -		"HDMI_DDC_DATA", /* GPIO_33 */
> -		"HDMI_HOT_PLUG_DETECT", /* GPIO_34 */
> -		"PCIE0_RST_N", /* GPIO_35 */
> -		"PCIE0_CLKREQ_N", /* GPIO_36 */
> -		"PCIE0_WAKE", /* GPIO_37 */
> -		"SD_CARD_DET_N", /* GPIO_38 */
> -		"TSIF1_SYNC", /* GPIO_39, S HSEC pin 48 */
> -		"W_DISABLE_N", /* GPIO_40 */
> -		"[BLSP9_UART_TX]", /* GPIO_41 */
> -		"[BLSP9_UART_RX]", /* GPIO_42 */
> -		"[BLSP2_UART_CTS_N]", /* GPIO_43 */
> -		"[BLSP2_UART_RFR_N]", /* GPIO_44 */
> -		"[BLSP3_UART_TX]", /* GPIO_45 */
> -		"[BLSP3_UART_RX]", /* GPIO_46 */
> -		"[I2C0_SDA]", /* GPIO_47, LS_I2C0_SDA, LSEC pin 17 */
> -		"[I2C0_SCL]", /* GPIO_48, LS_I2C0_SCL, LSEC pin 15 */
> -		"[UART0_TxD]", /* GPIO_49, BLSP9_UART_TX, LSEC pin 5 */
> -		"[UART0_RxD]", /* GPIO_50, BLSP9_UART_RX, LSEC pin 7 */
> -		"[UART0_CTS]", /* GPIO_51, BLSP9_UART_CTS_N, LSEC pin 3 */
> -		"[UART0_RTS]", /* GPIO_52, BLSP9_UART_RFR_N, LSEC pin 9 */
> -		"[CODEC_INT1_N]", /* GPIO_53 */
> -		"[CODEC_INT2_N]", /* GPIO_54 */
> -		"[BLSP7_I2C_SDA]", /* GPIO_55 */
> -		"[BLSP7_I2C_SCL]", /* GPIO_56 */
> -		"MI2S_MCLK", /* GPIO_57, S HSEC pin 3 */
> -		"[PCM_CLK]", /* GPIO_58, QUA_MI2S_SCK, LSEC pin 18 */
> -		"[PCM_FS]", /* GPIO_59, QUA_MI2S_WS, LSEC pin 16 */
> -		"[PCM_DO]", /* GPIO_60, QUA_MI2S_DATA0, LSEC pin 20 */
> -		"[PCM_DI]", /* GPIO_61, QUA_MI2S_DATA1, LSEC pin 22 */
> -		"GPIO-E", /* GPIO_62, LSEC pin 27 */
> -		"TP87", /* GPIO_63 */
> -		"[CODEC_RST_N]", /* GPIO_64 */
> -		"[PCM1_CLK]", /* GPIO_65 */
> -		"[PCM1_SYNC]", /* GPIO_66 */
> -		"[PCM1_DIN]", /* GPIO_67 */
> -		"[PCM1_DOUT]", /* GPIO_68 */
> -		"AUDIO_REF_CLK", /* GPIO_69 */
> -		"SLIMBUS_CLK", /* GPIO_70 */
> -		"SLIMBUS_DATA0", /* GPIO_71 */
> -		"SLIMBUS_DATA1", /* GPIO_72 */
> -		"NC", /* GPIO_73 */
> -		"NC", /* GPIO_74 */
> -		"NC", /* GPIO_75 */
> -		"NC", /* GPIO_76 */
> -		"TP94", /* GPIO_77 */
> -		"NC", /* GPIO_78 */
> -		"TP95", /* GPIO_79 */
> -		"GPIO-A", /* GPIO_80, MEMS_RESET_N, LSEC pin 23 */
> -		"TP88", /* GPIO_81 */
> -		"TP89", /* GPIO_82 */
> -		"TP90", /* GPIO_83 */
> -		"TP91", /* GPIO_84 */
> -		"[SD_DAT0]", /* GPIO_85, BLSP12_SPI_MOSI, P HSEC pin 1 */
> -		"[SD_CMD]", /* GPIO_86, BLSP12_SPI_MISO, P HSEC pin 11 */
> -		"[SD_DAT3]", /* GPIO_87, BLSP12_SPI_CS_N, P HSEC pin 7 */
> -		"[SD_SCLK]", /* GPIO_88, BLSP12_SPI_CLK, P HSEC pin 9 */
> -		"TSIF1_CLK", /* GPIO_89, S HSEC pin 42 */
> -		"TSIF1_EN", /* GPIO_90, S HSEC pin 46 */
> -		"TSIF1_DATA", /* GPIO_91, S HSEC pin 44 */
> -		"NC", /* GPIO_92 */
> -		"TSIF2_CLK", /* GPIO_93, S HSEC pin 52 */
> -		"TSIF2_EN", /* GPIO_94, S HSEC pin 56 */
> -		"TSIF2_DATA", /* GPIO_95, S HSEC pin 54 */
> -		"TSIF2_SYNC", /* GPIO_96, S HSEC pin 58 */
> -		"NC", /* GPIO_97 */
> -		"CAM1_STANDBY_N", /* GPIO_98 */
> -		"NC", /* GPIO_99 */
> -		"NC", /* GPIO_100 */
> -		"[LCD1_RESET_N]", /* GPIO_101, S HSEC pin 51 */
> -		"BOOT_CONFIG1", /* GPIO_102 */
> -		"USB_HUB_RESET", /* GPIO_103 */
> -		"CAM1_RST_N", /* GPIO_104 */
> -		"NC", /* GPIO_105 */
> -		"NC", /* GPIO_106 */
> -		"NC", /* GPIO_107 */
> -		"NC", /* GPIO_108 */
> -		"NC", /* GPIO_109 */
> -		"NC", /* GPIO_110 */
> -		"NC", /* GPIO_111 */
> -		"NC", /* GPIO_112 */
> -		"PMI8994_BUA", /* GPIO_113 */
> -		"PCIE2_RST_N", /* GPIO_114 */
> -		"PCIE2_CLKREQ_N", /* GPIO_115 */
> -		"PCIE2_WAKE", /* GPIO_116 */
> -		"SSC_IRQ_0", /* GPIO_117 */
> -		"SSC_IRQ_1", /* GPIO_118 */
> -		"SSC_IRQ_2", /* GPIO_119 */
> -		"NC", /* GPIO_120 */
> -		"GPIO121", /* GPIO_121, S HSEC pin 2 */
> -		"NC", /* GPIO_122 */
> -		"SSC_IRQ_6", /* GPIO_123 */
> -		"SSC_IRQ_7", /* GPIO_124 */
> -		"GPIO-C", /* GPIO_125, TS_INT0, LSEC pin 25 */
> -		"BOOT_CONFIG5", /* GPIO_126 */
> -		"NC", /* GPIO_127 */
> -		"NC", /* GPIO_128 */
> -		"BOOT_CONFIG7", /* GPIO_129 */
> -		"PCIE1_RST_N", /* GPIO_130 */
> -		"PCIE1_CLKREQ_N", /* GPIO_131 */
> -		"PCIE1_WAKE", /* GPIO_132 */
> -		"GPIO-L", /* GPIO_133, CAM2_STANDBY_N, LSEC pin 34 */
> -		"NC", /* GPIO_134 */
> -		"NC", /* GPIO_135 */
> -		"BOOT_CONFIG8", /* GPIO_136 */
> -		"NC", /* GPIO_137 */
> -		"NC", /* GPIO_138 */
> -		"GPS_SSBI2", /* GPIO_139 */
> -		"GPS_SSBI1", /* GPIO_140 */
> -		"NC", /* GPIO_141 */
> -		"NC", /* GPIO_142 */
> -		"NC", /* GPIO_143 */
> -		"BOOT_CONFIG6", /* GPIO_144 */
> -		"NC", /* GPIO_145 */
> -		"NC", /* GPIO_146 */
> -		"NC", /* GPIO_147 */
> -		"NC", /* GPIO_148 */
> -		"NC"; /* GPIO_149 */
> -
> -	sdc2_cd_on: sdc2-cd-on-state {
> -		pins = "gpio38";
> -		function = "gpio";
> -		bias-pull-up;
> -		drive-strength = <16>;
> -	};
> -
> -	sdc2_cd_off: sdc2-cd-off-state {
> -		pins = "gpio38";
> -		function = "gpio";
> -		bias-pull-up;
> -		drive-strength = <2>;
> -	};
> -
> -	hdmi_hpd_active: hdmi-hpd-active-state {
> -		pins = "gpio34";
> -		function = "hdmi_hot";
> -		bias-pull-down;
> -		drive-strength = <16>;
> -	};
> -
> -	hdmi_hpd_suspend: hdmi-hpd-suspend-state {
> -		pins = "gpio34";
> -		function = "hdmi_hot";
> -		bias-pull-down;
> -		drive-strength = <2>;
> -	};
> -
> -	hdmi_ddc_active: hdmi-ddc-active-state {
> -		pins = "gpio32", "gpio33";
> -		function = "hdmi_ddc";
> -		drive-strength = <2>;
> -		bias-pull-up;
> -	};
> -
> -	hdmi_ddc_suspend: hdmi-ddc-suspend-state {
> -		pins = "gpio32", "gpio33";
> -		function = "hdmi_ddc";
> -		drive-strength = <2>;
> -		bias-pull-down;
> -	};
> -};
> -
> -&pcie0 {
> -	status = "okay";
> -	perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
> -	vddpe-3v3-supply = <&wlan_en>;
> -	vdda-supply = <&vreg_l28a_0p925>;
> -};
> -
> -&pcie1 {
> -	status = "okay";
> -	perst-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>;
> -	vdda-supply = <&vreg_l28a_0p925>;
> -};
> -
> -&pcie2 {
> -	status = "okay";
> -	perst-gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
> -	vdda-supply = <&vreg_l28a_0p925>;
> -};
> -
> -&pcie_phy {
> -	status = "okay";
> -
> -	vdda-phy-supply = <&vreg_l28a_0p925>;
> -	vdda-pll-supply = <&vreg_l12a_1p8>;
> -};
> -
> -&pm8994_gpios {
> -	gpio-line-names =
> -		"NC",
> -		"KEY_VOLP_N",
> -		"NC",
> -		"BL1_PWM",
> -		"GPIO-F", /* BL0_PWM, LSEC pin 28 */
> -		"BL1_EN",
> -		"NC",
> -		"WLAN_EN",
> -		"NC",
> -		"NC",
> -		"NC",
> -		"NC",
> -		"NC",
> -		"NC",
> -		"DIVCLK1",
> -		"DIVCLK2",
> -		"DIVCLK3",
> -		"DIVCLK4",
> -		"BT_EN",
> -		"PMIC_SLB",
> -		"PMIC_BUA",
> -		"USB_VBUS_DET";
> -
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&ls_exp_gpio_f &bt_en_gpios>;
> -
> -	ls_exp_gpio_f: pm8994-gpio5-state {
> -		pinconf {
> -			pins = "gpio5";
> -			function = PMIC_GPIO_FUNC_NORMAL;
> -			output-low;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -		};
> -	};
> -
> -	bt_en_gpios: bt-en-pios-state {
> -		pinconf {
> -			pins = "gpio19";
> -			function = PMIC_GPIO_FUNC_NORMAL;
> -			output-low;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> -			bias-pull-down;
> -		};
> -	};
> -
> -	wlan_en_gpios: wlan-en-gpios-state {
> -		pinconf {
> -			pins = "gpio8";
> -			function = PMIC_GPIO_FUNC_NORMAL;
> -			output-low;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -			qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> -			bias-pull-down;
> -		};
> -	};
> -
> -	audio_mclk: clk-div1-state {
> -		pinconf {
> -			pins = "gpio15";
> -			function = "func1";
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -		};
> -	};
> -
> -	volume_up_gpio: pm8996-gpio2-state {
> -		pinconf {
> -			pins = "gpio2";
> -			function = "normal";
> -			input-enable;
> -			drive-push-pull;
> -			bias-pull-up;
> -			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -		};
> -	};
> -
> -	divclk4_pin_a: divclk4-state {
> -		pinconf {
> -			pins = "gpio18";
> -			function = PMIC_GPIO_FUNC_FUNC2;
> -
> -			bias-disable;
> -			power-source = <PM8994_GPIO_S4>;
> -		};
> -	};
> -
> -	usb3_vbus_det_gpio: pm8996-gpio22-state {
> -		pinconf {
> -			pins = "gpio22";
> -			function = PMIC_GPIO_FUNC_NORMAL;
> -			input-enable;
> -			bias-pull-down;
> -			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -		};
> -	};
> -};
> -
> -&pm8994_mpps {
> -	gpio-line-names =
> -		"VDDPX_BIAS",
> -		"WIFI_LED",
> -		"NC",
> -		"BT_LED",
> -		"PM_MPP05",
> -		"PM_MPP06",
> -		"PM_MPP07",
> -		"NC";
> -};
> -
> -&pm8994_spmi_regulators {
> -	qcom,saw-reg = <&saw3>;
> -	vdd_s11-supply = <&vph_pwr>;
> -
> -	s9 {
> -		qcom,saw-slave;
> -	};
> -	s10 {
> -		qcom,saw-slave;
> -	};
> -	s11 {
> -		qcom,saw-leader;
> -		regulator-name = "VDD_APCC";
> -		regulator-always-on;
> -		regulator-min-microvolt = <980000>;
> -		regulator-max-microvolt = <980000>;
> -	};
> -};
> -
> -&pmi8994_gpios {
> -	gpio-line-names =
> -		"NC",
> -		"SPKR_AMP_EN1",
> -		"SPKR_AMP_EN2",
> -		"TP61",
> -		"NC",
> -		"USB2_VBUS_DET",
> -		"NC",
> -		"NC",
> -		"NC",
> -		"NC";
> -
> -	usb2_vbus_det_gpio: pmi8996-gpio6-state {
> -		pinconf {
> -			pins = "gpio6";
> -			function = PMIC_GPIO_FUNC_NORMAL;
> -			input-enable;
> -			bias-pull-down;
> -			qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
> -			power-source = <PM8994_GPIO_S4>; /* 1.8V */
> -		};
> -	};
> -};
> -
> -&pmi8994_lpg {
> -	qcom,power-source = <1>;
> -
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&pmi8994_mpp2_userled4>;
> -
> -	qcom,dtest = <0 0>,
> -		     <0 0>,
> -		     <0 0>,
> -		     <4 1>;
> -
> -	status = "okay";
> -
> -	led@1 {
> -		reg = <1>;
> -		color = <LED_COLOR_ID_GREEN>;
> -		function = LED_FUNCTION_HEARTBEAT;
> -		function-enumerator = <1>;
> -
> -		linux,default-trigger = "heartbeat";
> -		default-state = "on";
> -	};
> -
> -	led@2 {
> -		reg = <2>;
> -		color = <LED_COLOR_ID_GREEN>;
> -		function = LED_FUNCTION_HEARTBEAT;
> -		function-enumerator = <0>;
> -	};
> -
> -	led@3 {
> -		reg = <3>;
> -		color = <LED_COLOR_ID_GREEN>;
> -		function = LED_FUNCTION_HEARTBEAT;
> -		function-enumerator = <2>;
> -	};
> -
> -	led@4 {
> -		reg = <4>;
> -		color = <LED_COLOR_ID_GREEN>;
> -		function = LED_FUNCTION_HEARTBEAT;
> -		function-enumerator = <3>;
> -	};
> -};
> -
> -&pmi8994_mpps {
> -	pmi8994_mpp2_userled4: mpp2-userled4-state {
> -		pins = "mpp2";
> -		function = "sink";
> -
> -		output-low;
> -		qcom,dtest = <4>;
> -	};
> -};
> -
> -&pmi8994_spmi_regulators {
> -	vdd_s2-supply = <&vph_pwr>;
> -
> -	vdd_gfx: s2 {
> -		regulator-name = "VDD_GFX";
> -		regulator-min-microvolt = <980000>;
> -		regulator-max-microvolt = <980000>;
> -	};
> -};
> -
> -&rpm_requests {
> -	regulators-0 {
> -		compatible = "qcom,rpm-pm8994-regulators";
> -
> -		vdd_s1-supply = <&vph_pwr>;
> -		vdd_s2-supply = <&vph_pwr>;
> -		vdd_s3-supply = <&vph_pwr>;
> -		vdd_s4-supply = <&vph_pwr>;
> -		vdd_s5-supply = <&vph_pwr>;
> -		vdd_s6-supply = <&vph_pwr>;
> -		vdd_s7-supply = <&vph_pwr>;
> -		vdd_s8-supply = <&vph_pwr>;
> -		vdd_s9-supply = <&vph_pwr>;
> -		vdd_s10-supply = <&vph_pwr>;
> -		vdd_s11-supply = <&vph_pwr>;
> -		vdd_s12-supply = <&vph_pwr>;
> -		vdd_l1-supply = <&vreg_s1b_1p025>;
> -		vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
> -		vdd_l3_l11-supply = <&vreg_s3a_1p3>;
> -		vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
> -		vdd_l5_l7-supply = <&vreg_s5a_2p15>;
> -		vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
> -		vdd_l8_l16_l30-supply = <&vph_pwr>;
> -		vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
> -		vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
> -		vdd_l14_l15-supply = <&vreg_s5a_2p15>;
> -		vdd_l17_l29-supply = <&vph_pwr_bbyp>;
> -		vdd_l20_l21-supply = <&vph_pwr_bbyp>;
> -		vdd_l25-supply = <&vreg_s3a_1p3>;
> -		vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
> -
> -		vreg_s3a_1p3: s3 {
> -			regulator-name = "vreg_s3a_1p3";
> -			regulator-min-microvolt = <1300000>;
> -			regulator-max-microvolt = <1300000>;
> -		};
> -
> -		/**
> -		 * 1.8v required on LS expansion
> -		 * for mezzanine boards
> -		 */
> -		vreg_s4a_1p8: s4 {
> -			regulator-name = "vreg_s4a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -			regulator-always-on;
> -		};
> -		vreg_s5a_2p15: s5 {
> -			regulator-name = "vreg_s5a_2p15";
> -			regulator-min-microvolt = <2150000>;
> -			regulator-max-microvolt = <2150000>;
> -		};
> -		vreg_s7a_1p0: s7 {
> -			regulator-name = "vreg_s7a_1p0";
> -			regulator-min-microvolt = <800000>;
> -			regulator-max-microvolt = <800000>;
> -		};
> -
> -		vreg_l1a_1p0: l1 {
> -			regulator-name = "vreg_l1a_1p0";
> -			regulator-min-microvolt = <1000000>;
> -			regulator-max-microvolt = <1000000>;
> -		};
> -		vreg_l2a_1p25: l2 {
> -			regulator-name = "vreg_l2a_1p25";
> -			regulator-min-microvolt = <1250000>;
> -			regulator-max-microvolt = <1250000>;
> -		};
> -		vreg_l3a_0p875: l3 {
> -			regulator-name = "vreg_l3a_0p875";
> -			regulator-min-microvolt = <850000>;
> -			regulator-max-microvolt = <850000>;
> -		};
> -		vreg_l4a_1p225: l4 {
> -			regulator-name = "vreg_l4a_1p225";
> -			regulator-min-microvolt = <1225000>;
> -			regulator-max-microvolt = <1225000>;
> -		};
> -		vreg_l6a_1p2: l6 {
> -			regulator-name = "vreg_l6a_1p2";
> -			regulator-min-microvolt = <1200000>;
> -			regulator-max-microvolt = <1200000>;
> -		};
> -		vreg_l8a_1p8: l8 {
> -			regulator-name = "vreg_l8a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l9a_1p8: l9 {
> -			regulator-name = "vreg_l9a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l10a_1p8: l10 {
> -			regulator-name = "vreg_l10a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l11a_1p15: l11 {
> -			regulator-name = "vreg_l11a_1p15";
> -			regulator-min-microvolt = <1150000>;
> -			regulator-max-microvolt = <1150000>;
> -		};
> -		vreg_l12a_1p8: l12 {
> -			regulator-name = "vreg_l12a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l13a_2p95: l13 {
> -			regulator-name = "vreg_l13a_2p95";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <2950000>;
> -		};
> -		vreg_l14a_1p8: l14 {
> -			regulator-name = "vreg_l14a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l15a_1p8: l15 {
> -			regulator-name = "vreg_l15a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l16a_2p7: l16 {
> -			regulator-name = "vreg_l16a_2p7";
> -			regulator-min-microvolt = <2700000>;
> -			regulator-max-microvolt = <2700000>;
> -		};
> -		vreg_l17a_2p8: l17 {
> -			regulator-name = "vreg_l17a_2p8";
> -			regulator-min-microvolt = <2500000>;
> -			regulator-max-microvolt = <2500000>;
> -		};
> -		vreg_l18a_2p85: l18 {
> -			regulator-name = "vreg_l18a_2p85";
> -			regulator-min-microvolt = <2700000>;
> -			regulator-max-microvolt = <2900000>;
> -		};
> -		vreg_l19a_2p8: l19 {
> -			regulator-name = "vreg_l19a_2p8";
> -			regulator-min-microvolt = <3000000>;
> -			regulator-max-microvolt = <3000000>;
> -		};
> -		vreg_l20a_2p95: l20 {
> -			regulator-name = "vreg_l20a_2p95";
> -			regulator-min-microvolt = <2950000>;
> -			regulator-max-microvolt = <2950000>;
> -			regulator-allow-set-load;
> -		};
> -		vreg_l21a_2p95: l21 {
> -			regulator-name = "vreg_l21a_2p95";
> -			regulator-min-microvolt = <2950000>;
> -			regulator-max-microvolt = <2950000>;
> -			regulator-allow-set-load;
> -			regulator-system-load = <200000>;
> -		};
> -		vreg_l22a_3p0: l22 {
> -			regulator-name = "vreg_l22a_3p0";
> -			regulator-min-microvolt = <3300000>;
> -			regulator-max-microvolt = <3300000>;
> -		};
> -		vreg_l23a_2p8: l23 {
> -			regulator-name = "vreg_l23a_2p8";
> -			regulator-min-microvolt = <2800000>;
> -			regulator-max-microvolt = <2800000>;
> -		};
> -		vreg_l24a_3p075: l24 {
> -			regulator-name = "vreg_l24a_3p075";
> -			regulator-min-microvolt = <3075000>;
> -			regulator-max-microvolt = <3075000>;
> -		};
> -		vreg_l25a_1p2: l25 {
> -			regulator-name = "vreg_l25a_1p2";
> -			regulator-min-microvolt = <1200000>;
> -			regulator-max-microvolt = <1200000>;
> -			regulator-allow-set-load;
> -		};
> -		vreg_l26a_0p8: l27 {
> -			regulator-name = "vreg_l26a_0p8";
> -			regulator-min-microvolt = <1000000>;
> -			regulator-max-microvolt = <1000000>;
> -		};
> -		vreg_l28a_0p925: l28 {
> -			regulator-name = "vreg_l28a_0p925";
> -			regulator-min-microvolt = <925000>;
> -			regulator-max-microvolt = <925000>;
> -			regulator-allow-set-load;
> -		};
> -		vreg_l29a_2p8: l29 {
> -			regulator-name = "vreg_l29a_2p8";
> -			regulator-min-microvolt = <2800000>;
> -			regulator-max-microvolt = <2800000>;
> -		};
> -		vreg_l30a_1p8: l30 {
> -			regulator-name = "vreg_l30a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -		vreg_l32a_1p8: l32 {
> -			regulator-name = "vreg_l32a_1p8";
> -			regulator-min-microvolt = <1800000>;
> -			regulator-max-microvolt = <1800000>;
> -		};
> -
> -		vreg_lvs1a_1p8: lvs1 {
> -			regulator-name = "vreg_lvs1a_1p8";
> -		};
> -
> -		vreg_lvs2a_1p8: lvs2 {
> -			regulator-name = "vreg_lvs2a_1p8";
> -		};
> -	};
> -
> -	regulators-1 {
> -		compatible = "qcom,rpm-pmi8994-regulators";
> -
> -		vdd_s1-supply = <&vph_pwr>;
> -		vdd_s2-supply = <&vph_pwr>;
> -		vdd_s3-supply = <&vph_pwr>;
> -		vdd_bst_byp-supply = <&vph_pwr>;
> -
> -		vph_pwr_bbyp: boost-bypass {
> -			regulator-name = "vph_pwr_bbyp";
> -			regulator-min-microvolt = <3300000>;
> -			regulator-max-microvolt = <3300000>;
> -		};
> -
> -		vreg_s1b_1p025: s1 {
> -			regulator-name = "vreg_s1b_1p025";
> -			regulator-min-microvolt = <1025000>;
> -			regulator-max-microvolt = <1025000>;
> -		};
> -	};
> -};
> -
> -&sdhc2 {
> -	/* External SD card */
> -	pinctrl-names = "default", "sleep";
> -	pinctrl-0 = <&sdc2_state_on &sdc2_cd_on>;
> -	pinctrl-1 = <&sdc2_state_off &sdc2_cd_off>;
> -	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
> -	vmmc-supply = <&vreg_l21a_2p95>;
> -	vqmmc-supply = <&vreg_l13a_2p95>;
> -	status = "okay";
> -};
> -
> -&q6asmdai {
> -	dai@0 {
> -		reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
> -	};
> -
> -	dai@1 {
> -		reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
> -	};
> -
> -	dai@2 {
> -		reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
> -	};
> -};
> -
> -&slim_msm {
> -	status = "okay";
> -
> -	slim@1 {
> -		reg = <1>;
> -		#address-cells = <2>;
> -		#size-cells = <0>;
> -
> -		tasha_ifd: tas-ifd@0,0 {
> -			compatible = "slim217,1a0";
> -			reg = <0 0>;
> -		};
> -
> -		wcd9335: codec@1,0 {
> -			compatible = "slim217,1a0";
> -			reg = <1 0>;
> -
> -			clock-names = "mclk", "slimbus";
> -			clocks = <&div1_mclk>,
> -				 <&rpmcc RPM_SMD_BB_CLK1>;
> -			interrupt-parent = <&tlmm>;
> -			interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
> -				     <53 IRQ_TYPE_LEVEL_HIGH>;
> -			interrupt-names = "intr1", "intr2";
> -			interrupt-controller;
> -			#interrupt-cells = <1>;
> -
> -			pinctrl-0 = <&cdc_reset_active &wcd_intr_default>;
> -			pinctrl-names = "default";
> -
> -			reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
> -			slim-ifc-dev = <&tasha_ifd>;
> -
> -			#sound-dai-cells = <1>;
> -
> -			vdd-buck-supply = <&vreg_s4a_1p8>;
> -			vdd-buck-sido-supply = <&vreg_s4a_1p8>;
> -			vdd-tx-supply = <&vreg_s4a_1p8>;
> -			vdd-rx-supply = <&vreg_s4a_1p8>;
> -			vdd-io-supply = <&vreg_s4a_1p8>;
> -		};
> -	};
> -};
> -
> -&sound {
> -	compatible = "qcom,apq8096-sndcard";
> -	model = "DB820c";
> -	audio-routing = "RX_BIAS", "MCLK";
> -
> -	mm1-dai-link {
> -		link-name = "MultiMedia1";
> -		cpu {
> -			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
> -		};
> -	};
> -
> -	mm2-dai-link {
> -		link-name = "MultiMedia2";
> -		cpu {
> -			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
> -		};
> -	};
> -
> -	mm3-dai-link {
> -		link-name = "MultiMedia3";
> -		cpu {
> -			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
> -		};
> -	};
> -
> -	hdmi-dai-link {
> -		link-name = "HDMI";
> -		cpu {
> -			sound-dai = <&q6afedai HDMI_RX>;
> -		};
> -
> -		platform {
> -			sound-dai = <&q6routing>;
> -		};
> -
> -		codec {
> -			sound-dai = <&mdss_hdmi 0>;
> -		};
> -	};
> -
> -	slim-dai-link {
> -		link-name = "SLIM Playback";
> -		cpu {
> -			sound-dai = <&q6afedai SLIMBUS_6_RX>;
> -		};
> -
> -		platform {
> -			sound-dai = <&q6routing>;
> -		};
> -
> -		codec {
> -			sound-dai = <&wcd9335 AIF4_PB>;
> -		};
> -	};
> -
> -	slimcap-dai-link {
> -		link-name = "SLIM Capture";
> -		cpu {
> -			sound-dai = <&q6afedai SLIMBUS_0_TX>;
> -		};
> -
> -		platform {
> -			sound-dai = <&q6routing>;
> -		};
> -
> -		codec {
> -			sound-dai = <&wcd9335 AIF1_CAP>;
> -		};
> -	};
> -};
> -
> -&ufsphy {
> -	status = "okay";
> -
> -	vdda-phy-supply = <&vreg_l28a_0p925>;
> -	vdda-pll-supply = <&vreg_l12a_1p8>;
> -};
> -
> -&ufshc {
> -	status = "okay";
> -
> -	vcc-supply = <&vreg_l20a_2p95>;
> -	vccq-supply = <&vreg_l25a_1p2>;
> -	vccq2-supply = <&vreg_s4a_1p8>;
> -	vdd-hba-supply = <&vreg_l25a_1p2>;
> -
> -	vcc-max-microamp = <600000>;
> -	vccq-max-microamp = <450000>;
> -	vccq2-max-microamp = <450000>;
> -};
> -
> -&usb2 {
> -	status = "okay";
> -	extcon = <&usb2_id>;
> -};
> -
> -&usb2_dwc3 {
> -	extcon = <&usb2_id>;
> -	dr_mode = "otg";
> -	maximum-speed = "high-speed";
> -};
> -
> -&usb3 {
> -	status = "okay";
> -	extcon = <&usb3_id>;
> -};
> -
> -&usb3_dwc3 {
> -	extcon = <&usb3_id>;
> -	dr_mode = "otg";
> -};
> -
> -&usb3phy {
> -	status = "okay";
> -
> -	vdda-phy-supply = <&vreg_l28a_0p925>;
> -	vdda-pll-supply = <&vreg_l12a_1p8>;
> -};
> -
> -&venus {
> -	status = "okay";
>  };
> diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> similarity index 99%
> copy from arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> copy to arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> index 9fa70ff6887b78caf1826f653a5caccd9653269c..0c076852b4946a4d1b67b25dff434cf207469acb 100644
> --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> @@ -3,9 +3,7 @@
>   * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
>   */
>  
> -/dts-v1/;
>  
> -#include "msm8996.dtsi"
>  #include "pm8994.dtsi"
>  #include "pmi8994.dtsi"
>  #include <dt-bindings/input/input.h>
> @@ -44,9 +42,6 @@
>   */
>  
>  / {
> -	model = "Qualcomm Technologies, Inc. DB820c";
> -	compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096";
> -
>  	aliases {
>  		serial0 = &blsp2_uart2;
>  		serial1 = &blsp2_uart3;
> diff --git a/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts
> new file mode 100644
> index 0000000000000000000000000000000000000000..f3ab5a7c6e53a1925fa6e11ae7acf940d47dc4ee
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/apq8096sg-db820c.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +
> +#include "msm8996pro.dtsi"
> +#include "apq8096-db820c.dtsi"
> +
> +/ {
> +	model = "Qualcomm Technologies, Inc. DB820c";
> +	compatible = "arrow,apq8096sg-db820c", "arrow,apq8096-db820c",
> +		"qcom,apq8096-sbc", "qcom,apq8096sg", "qcom,apq8096";
> +};
>
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Dmitry Baryshkov 2 months, 3 weeks ago
On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
> > There has been a (rare) varint of Dragonboard 820c, utilizing Pro
> > version of the SoC, with the major difference being CPU and GPU clock
> > tables. Add a DT file representing this version of the board.
> 
> So is the conclusion that both flavors were used?

Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
has a standard one too. All units in Collabora lab are Pro ones.

> 
> This product brief
> 
> https://cdn.lantronix.com/wp-content/uploads/pdf/Open-Q_820_Development_Kit_Quick_Start_Guide.pdf

This is a totally different board.

> 
> suggests it was the SG all along, FWIW

-- 
With best wishes
Dmitry
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Konrad Dybcio 2 months, 3 weeks ago
On 11/13/25 9:32 PM, Dmitry Baryshkov wrote:
> On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
>> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
>>> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
>>> version of the SoC, with the major difference being CPU and GPU clock
>>> tables. Add a DT file representing this version of the board.
>>
>> So is the conclusion that both flavors were used?
> 
> Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
> has a standard one too. All units in Collabora lab are Pro ones.

Pro doesn't necessarily have to == SG, this seems to be sort of
a "MSM8996Pro" and "QCM8996Pro" situation. I'm hoping that speedbin
fuse values don't have different meanings for mobilePro and SG

>> This product brief
>>
>> https://cdn.lantronix.com/wp-content/uploads/pdf/Open-Q_820_Development_Kit_Quick_Start_Guide.pdf
> 
> This is a totally different board.

Oh right sorry

Konrad
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Dmitry Baryshkov 2 months, 3 weeks ago
On Fri, 14 Nov 2025 at 23:31, Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
> On 11/13/25 9:32 PM, Dmitry Baryshkov wrote:
> > On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
> >> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
> >>> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
> >>> version of the SoC, with the major difference being CPU and GPU clock
> >>> tables. Add a DT file representing this version of the board.
> >>
> >> So is the conclusion that both flavors were used?
> >
> > Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
> > has a standard one too. All units in Collabora lab are Pro ones.
>
> Pro doesn't necessarily have to == SG, this seems to be sort of

My understanding was that APQ8096SG is modem-less MSM8996Pro.

> a "MSM8996Pro" and "QCM8996Pro" situation.

> I'm hoping that speedbin
> fuse values don't have different meanings for mobilePro and SG

At least downstream doesn't have separate bins for APQ versions.

>
> >> This product brief
> >>
> >> https://cdn.lantronix.com/wp-content/uploads/pdf/Open-Q_820_Development_Kit_Quick_Start_Guide.pdf
> >
> > This is a totally different board.
>
> Oh right sorry
>
> Konrad



-- 
With best wishes
Dmitry
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Konrad Dybcio 2 months, 3 weeks ago
On 11/15/25 1:09 AM, Dmitry Baryshkov wrote:
> On Fri, 14 Nov 2025 at 23:31, Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 11/13/25 9:32 PM, Dmitry Baryshkov wrote:
>>> On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
>>>> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
>>>>> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
>>>>> version of the SoC, with the major difference being CPU and GPU clock
>>>>> tables. Add a DT file representing this version of the board.
>>>>
>>>> So is the conclusion that both flavors were used?
>>>
>>> Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
>>> has a standard one too. All units in Collabora lab are Pro ones.
>>
>> Pro doesn't necessarily have to == SG, this seems to be sort of
> 
> My understanding was that APQ8096SG is modem-less MSM8996Pro.
> 
>> a "MSM8996Pro" and "QCM8996Pro" situation.
> 
>> I'm hoping that speedbin
>> fuse values don't have different meanings for mobilePro and SG
> 
> At least downstream doesn't have separate bins for APQ versions.

arch/arm64/boot/dts/qcom/msm8996pro.dtsi:       qcom,msm-id = <305 0x10000>;
arch/arm64/boot/dts/qcom/msm8996pro-v1.1.dtsi:  qcom,msm-id = <305 0x10001>;

this is interesting, perhaps Pro==SG then

I also found evidence that there exist allOf

(MSM/APQ)(Pro/not)(Auto/not)

in the form of:

msm-id | sku
246 mobile
291 apq
305 msm-pro
310 msm-auto
311 apq-auto
312 apq-pro
315 msm-pro-auto
316 apq-pro-auto

and apparently upstream dt-bindings also defines 302/MSM8996L(ite?)

Konrad
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Dmitry Baryshkov 3 weeks, 5 days ago
On Mon, Nov 17, 2025 at 12:54:22PM +0100, Konrad Dybcio wrote:
> On 11/15/25 1:09 AM, Dmitry Baryshkov wrote:
> > On Fri, 14 Nov 2025 at 23:31, Konrad Dybcio
> > <konrad.dybcio@oss.qualcomm.com> wrote:
> >>
> >> On 11/13/25 9:32 PM, Dmitry Baryshkov wrote:
> >>> On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
> >>>> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
> >>>>> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
> >>>>> version of the SoC, with the major difference being CPU and GPU clock
> >>>>> tables. Add a DT file representing this version of the board.
> >>>>
> >>>> So is the conclusion that both flavors were used?
> >>>
> >>> Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
> >>> has a standard one too. All units in Collabora lab are Pro ones.
> >>
> >> Pro doesn't necessarily have to == SG, this seems to be sort of
> > 
> > My understanding was that APQ8096SG is modem-less MSM8996Pro.
> > 
> >> a "MSM8996Pro" and "QCM8996Pro" situation.
> > 
> >> I'm hoping that speedbin
> >> fuse values don't have different meanings for mobilePro and SG
> > 
> > At least downstream doesn't have separate bins for APQ versions.
> 
> arch/arm64/boot/dts/qcom/msm8996pro.dtsi:       qcom,msm-id = <305 0x10000>;
> arch/arm64/boot/dts/qcom/msm8996pro-v1.1.dtsi:  qcom,msm-id = <305 0x10001>;
> 
> this is interesting, perhaps Pro==SG then

Yes. At least it matches what is written in the LK sources (or in
MSM8996 Device Revision Guide).

The JTAG ID matches APQ8096SG, the bootloader identifies it as 8996 Pro.

Any remaining issues?

> 
> I also found evidence that there exist allOf
> 
> (MSM/APQ)(Pro/not)(Auto/not)
> 
> in the form of:
> 
> msm-id | sku
> 246 mobile
> 291 apq
> 305 msm-pro
> 310 msm-auto
> 311 apq-auto
> 312 apq-pro
> 315 msm-pro-auto
> 316 apq-pro-auto
> 
> and apparently upstream dt-bindings also defines 302/MSM8996L(ite?)
> 
> Konrad

-- 
With best wishes
Dmitry
Re: [PATCH 2/2] arm64: dts: qcom: add apq8096sg-db820c, AP8096SG variant of DB820c
Posted by Konrad Dybcio 3 weeks, 4 days ago
On 1/14/26 1:12 AM, Dmitry Baryshkov wrote:
> On Mon, Nov 17, 2025 at 12:54:22PM +0100, Konrad Dybcio wrote:
>> On 11/15/25 1:09 AM, Dmitry Baryshkov wrote:
>>> On Fri, 14 Nov 2025 at 23:31, Konrad Dybcio
>>> <konrad.dybcio@oss.qualcomm.com> wrote:
>>>>
>>>> On 11/13/25 9:32 PM, Dmitry Baryshkov wrote:
>>>>> On Wed, Nov 12, 2025 at 10:44:49AM +0100, Konrad Dybcio wrote:
>>>>>> On 11/11/25 5:02 PM, Dmitry Baryshkov wrote:
>>>>>>> There has been a (rare) varint of Dragonboard 820c, utilizing Pro
>>>>>>> version of the SoC, with the major difference being CPU and GPU clock
>>>>>>> tables. Add a DT file representing this version of the board.
>>>>>>
>>>>>> So is the conclusion that both flavors were used?
>>>>>
>>>>> Yes. I have had a production unit with a non-SG flavour. Bjorn's lab
>>>>> has a standard one too. All units in Collabora lab are Pro ones.
>>>>
>>>> Pro doesn't necessarily have to == SG, this seems to be sort of
>>>
>>> My understanding was that APQ8096SG is modem-less MSM8996Pro.
>>>
>>>> a "MSM8996Pro" and "QCM8996Pro" situation.
>>>
>>>> I'm hoping that speedbin
>>>> fuse values don't have different meanings for mobilePro and SG
>>>
>>> At least downstream doesn't have separate bins for APQ versions.
>>
>> arch/arm64/boot/dts/qcom/msm8996pro.dtsi:       qcom,msm-id = <305 0x10000>;
>> arch/arm64/boot/dts/qcom/msm8996pro-v1.1.dtsi:  qcom,msm-id = <305 0x10001>;
>>
>> this is interesting, perhaps Pro==SG then
> 
> Yes. At least it matches what is written in the LK sources (or in
> MSM8996 Device Revision Guide).
> 
> The JTAG ID matches APQ8096SG, the bootloader identifies it as 8996 Pro.
> 
> Any remaining issues?

No, I think we're good

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad