Skip to contentSkip to conversation

arm64: qcom: sbc: Name GPIO lines

PATCH Superseded Linus Walleij 9 participants 16 messages Oct 3, 2017 – Oct 6, 2017

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 arm64: qcom: sbc: Name GPIO lines

This names the GPIO lines on the APQ8016 "SBC" also known as the DragonBoard 410c, according to the schematic. This is necessary for a conforming userspace looking across all GPIO chips for the GPIO lines named "GPIO-A" thru "GPIO-L".

---
I don't have this hardware available, you can test it easily by compiling tools/gpio/* and issue "lsgpio" to see the GPIO line names in the console.

Please apply this even if you're not applying the second patch renaming the DTS files.

---
 arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 167 +++++++++++++++++++++++++++++++
 1 file changed, 167 insertions(+)
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +167 -0
index 825f489a2af7..40b0d62861bb 100644
@@ -19,3 +19,170 @@
 	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
 	compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
 };
+
+/*
+ * 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)
+ *         "" = no idea, schematic doesn't say, could be
+ *              unrouted (not connected to any external pin)
+ *         LSEC = Low Speed External Connector
+ *         HSEC = High Speed External Connector
+ *
+ * Line names are taken from the schematic "DragonBoard410c"
+ * dated monday, august 31, 2015. Page 5 in particular.
+ *
+ * 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.
+ */
+&msmgpio {
+	gpio-line-names =
+		"[UART0_TX]", /* GPIO 0, LSEC pin 1 */
+		"[UART0_RX]",
+		"[UART0_CTS_N]",
+		"[UART0_RTS_N]",
+		"[UART1_TX]",
+		"[UART1_RX]",
+		"[I2C0_SDA]",
+		"[I2C0_SCL]",
+		"[SPI1_MOSI]",
+		"[SPI1_MISO]",
+		"[SPI1_CS_N]", /* GPIO 10 */
+		"[SPI1_CLK]",
+		"GPIO-B",
+		"GPIO-C",
+		"[I2C3_SDA]",
+		"[I2C3_SCL]",
+		"[SPI0_MOSI]",
+		"[SPI0_MISO]",
+		"[SPI0_CS_N]",
+		"[SPI0_CLK]",
+		"HDMI_HPD_N", /* GPIO 20 */
+		"USR_LED_1_CTRL",
+		"[I2C1_SDA]",
+		"[I2C1_SCL]",
+		"GPIO-G",
+		"GPIO-H",
+		"[CSI0_MCLK]",
+		"[CSI1_MCLK]",
+		"GPIO-K",
+		"[I2C2_SDA]",
+		"[I2C2_SCL]", /* GPIO 30 */
+		"DSI2HDMI_INT_N",
+		"DSI_SW_SEL_APQ",
+		"GPIO-L",
+		"GPIO-J",
+		"GPIO-I",
+		"GPIO-A", /* GPIO_36 */
+		"FORCED_USB_BOOT",
+		"SD_CARD_DET_N",
+		"[WCSS_BT_SSBI]",
+		"[WCSS_WLAN_DATA_2]", /* GPIO 40 */
+		"[WCSS_WLAN_DATA_1]",
+		"[WCSS_WLAN_DATA_0]",
+		"[WCSS_WLAN_SET]",
+		"[WCSS_WLAN_CLK]",
+		"[WCSS_FM_SSBI]",
+		"[WCSS_FM_SDI]",
+		"[WCSS_BT_DAT_CTL]",
+		"[WCSS_BT_DAT_STB]",
+		"NC",
+		"NC", /* GPIO 50 */
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC", /* GPIO 60 */
+		"NC",
+		"NC",
+		"[CDC_PDM0_CLK]",
+		"[CDC_PDM0_SYNC]",
+		"[CDC_PDM0_TX0]",
+		"[CDC_PDM0_RX0]",
+		"[CDC_PDM0_RX1]",
+		"[CDC_PDM0_RX2]",
+		"GPIO-D",
+		"NC", /* GPIO 70 */
+		"NC",
+		"NC",
+		"NC",
+		"NC", /* GPIO 74 */
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"BOOT_CONFIG_0", /* GPIO 80 */
+		"BOOT_CONFIG_1",
+		"BOOT_CONFIG_2",
+		"BOOT_CONFIG_3",
+		"NC",
+		"NC",
+		"BOOT_CONFIG_5",
+		"NC",
+		"NC",
+		"NC",
+		"NC", /* GPIO 90 */
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC",
+		"NC", /* GPIO 100 */
+		"NC",
+		"NC",
+		"NC",
+		"SSBI_GPS",
+		"NC",
+		"NC",
+		"KEY_VOLP_N",
+		"NC",
+		"NC",
+		"[LS_EXP_MI2S_WS]", /* GPIO 110 */
+		"NC",
+		"NC",
+		"[LS_EXP_MI2S_SCK]",
+		"[LS_EXP_MI2S_DATA0]",
+		"GPIO-E",
+		"NC",
+		"[DSI2HDMI_MI2S_WS]",
+		"[DSI2HDMI_MI2S_SCK]",
+		"[DSI2HDMI_MI2S_DATA0]",
+		"USR_LED_2_CTRL", /* GPIO 120 */
+		"USB_HS_ID";
+};
+
+&pm8916_gpios {
+	gpio-line-names =
+		"USR_LED_3_CTRL",
+		"USR_LED_4_CTRL",
+		"USB_HUB_RESET_N_PM",
+		"USB_SW_SEL_PM";
+};
+
+&pm8916_mpps {
+	gpio-line-names =
+		"VDD_PX_BIAS",
+		"WLAN_LED_CTRL",
+		"BT_LED_CTRL",
+		"GPIO-F";
+};
Signature · 1 line
2.13.5
#1 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

---
It's not like I don't understand that people will be nitpicky about this.

I was looking for the DragonBoard 410c devicetree and could not find it until I realized this hopeless idiomatic naming.

It cost me time and effort, and it is going to cost others time and effort. Fixing it.

The other patch naming the GPIO lines can be applied without this one.

---
 arch/arm64/boot/dts/qcom/Makefile                                    | 2 +-
 .../{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi}    | 0
 .../qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} | 0
 arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}     | 5 +++--
 arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi}   | 4 ++--
 5 files changed, 6 insertions(+), 5 deletions(-)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi} (100%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} (100%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts} (95%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi} (99%)
arch/arm64/boot/dts/qcom/Makefile +1 -1
index ff81d7e5805e..fc46ab79acd9 100644
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-sbc.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-db410c.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-db820c.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq8074-hk01.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8916-mtp.dtb
arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c.dts renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dts +3 -2
similarity index 95%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dts
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dts
index 40b0d62861bb..86cfae4d2b9d 100644
@@ -13,10 +13,11 @@
 
 /dts-v1/;
 
-#include "apq8016-sbc.dtsi"
+#include "apq8016-db410c.dtsi"
 
 / {
-	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+	model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
+	/* The "SBC" (Single Board Computer) is another name for this board */
 	compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
 };
 
arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +2 -2
similarity index 99%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi
index 1d63e6b879de..1300c11e5f0e 100644
@@ -13,8 +13,8 @@
 
 #include "msm8916.dtsi"
 #include "pm8916.dtsi"
-#include "apq8016-sbc-soc-pins.dtsi"
-#include "apq8016-sbc-pmic-pins.dtsi"
+#include "apq8016-db410c-soc-pins.dtsi"
+#include "apq8016-db410c-pmic-pins.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/sound/apq8016-lpass.h>
Signature · 1 line
2.13.5
#2 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

Quoted 82 lines

---
It's not like I don't understand that people will be nitpicky about this.

I was looking for the DragonBoard 410c devicetree and could not find it until I realized this hopeless idiomatic naming.

It cost me time and effort, and it is going to cost others time and effort. Fixing it.

The other patch naming the GPIO lines can be applied without this one.

---
  arch/arm64/boot/dts/qcom/Makefile                                    | 2 +-
  .../{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi}    | 0
  .../qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} | 0
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}     | 5 +++--
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi}   | 4 ++--
  5 files changed, 6 insertions(+), 5 deletions(-)

rename arch/arm64/boot/dts/qcom/{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi} (100%) rename arch/arm64/boot/dts/qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} (100%) rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts} (95%) rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi} (99%)

arch/arm64/boot/dts/qcom/Makefile +1 -1
index ff81d7e5805e..fc46ab79acd9 100644
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-sbc.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-db410c.dtb
  dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-db820c.dtb
  dtb-$(CONFIG_ARCH_QCOM)	+= ipq8074-hk01.dtb
  dtb-$(CONFIG_ARCH_QCOM)	+= msm8916-mtp.dtb
arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c.dts renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dts +3 -2
similarity index 95%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dts
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dts
index 40b0d62861bb..86cfae4d2b9d 100644
@@ -13,10 +13,11 @@
 
  /dts-v1/;
 
-#include "apq8016-sbc.dtsi"
+#include "apq8016-db410c.dtsi"
 
  / {
-	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+	model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
+	/* The "SBC" (Single Board Computer) is another name for this board */
  	compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
  };
 
arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +2 -2
similarity index 99%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi
index 1d63e6b879de..1300c11e5f0e 100644
@@ -13,8 +13,8 @@
 
  #include "msm8916.dtsi"
  #include "pm8916.dtsi"
-#include "apq8016-sbc-soc-pins.dtsi"
-#include "apq8016-sbc-pmic-pins.dtsi"
+#include "apq8016-db410c-soc-pins.dtsi"
+#include "apq8016-db410c-pmic-pins.dtsi"
  #include <dt-bindings/gpio/gpio.h>
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/sound/apq8016-lpass.h>
#3 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

BR,
-R

Quoted 97 lines
Quoted 80 lines

---
It's not like I don't understand that people will be nitpicky about this.

I was looking for the DragonBoard 410c devicetree and could not find it until I realized this hopeless idiomatic naming.

It cost me time and effort, and it is going to cost others time and effort. Fixing it.

The other patch naming the GPIO lines can be applied without this one.

---
  arch/arm64/boot/dts/qcom/Makefile                                    | 2
+-
  .../{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi}    | 0
  .../qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} | 0
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}     | 5
+++--
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi}   | 4
++--
  5 files changed, 6 insertions(+), 5 deletions(-)

rename arch/arm64/boot/dts/qcom/{apq8016-sbc-pmic-pins.dtsi =>
apq8016-db410c-pmic-pins.dtsi} (100%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc-soc-pins.dtsi =>
apq8016-db410c-soc-pins.dtsi} (100%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}
(95%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi =>
apq8016-db410c.dtsi} (99%)

arch/arm64/boot/dts/qcom/Makefile +1 -1
index ff81d7e5805e..fc46ab79acd9 100644
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_QCOM)        += apq8016-sbc.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += apq8016-db410c.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += apq8096-db820c.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += ipq8074-hk01.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += msm8916-mtp.dtb
arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c.dts renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dts +3 -1
similarity index 95%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dts
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dts
index 40b0d62861bb..86cfae4d2b9d 100644
@@ -13,10 +13,11 @@
    /dts-v1/;
  -#include "apq8016-sbc.dtsi"
+#include "apq8016-db410c.dtsi"
    / {
-       model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+       model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
+       /* The "SBC" (Single Board Computer) is another name for this

board */

        compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";

};
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
b/arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi similarity index 99%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi index 1d63e6b879de..1300c11e5f0e 100644

arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi line 20

Quoted 10 lines
arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +2 -2
@@ -13,8 +13,8 @@
    #include "msm8916.dtsi"
  #include "pm8916.dtsi"
-#include "apq8016-sbc-soc-pins.dtsi"
-#include "apq8016-sbc-pmic-pins.dtsi"
+#include "apq8016-db410c-soc-pins.dtsi"
+#include "apq8016-db410c-pmic-pins.dtsi"
  #include <dt-bindings/gpio/gpio.h>
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/sound/apq8016-lpass.h>
 

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 20 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

Quoted 4 lines

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

iirc, skale is using the compatible name, not the filename.

Quoted 106 lines

BR,
-R

Quoted 89 lines
Quoted 86 lines

---
It's not like I don't understand that people will be nitpicky about this.

I was looking for the DragonBoard 410c devicetree and could not find it until I realized this hopeless idiomatic naming.

It cost me time and effort, and it is going to cost others time and effort. Fixing it.

The other patch naming the GPIO lines can be applied without this one.

---
  arch/arm64/boot/dts/qcom/Makefile                                    | 2
+-
  .../{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi}    | 0
  .../qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} | 0
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}     | 5
+++--
  arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi}   | 4
++--
  5 files changed, 6 insertions(+), 5 deletions(-)

rename arch/arm64/boot/dts/qcom/{apq8016-sbc-pmic-pins.dtsi =>
apq8016-db410c-pmic-pins.dtsi} (100%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc-soc-pins.dtsi =>
apq8016-db410c-soc-pins.dtsi} (100%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}
(95%)
rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi =>
apq8016-db410c.dtsi} (99%)

arch/arm64/boot/dts/qcom/Makefile +1 -1
index ff81d7e5805e..fc46ab79acd9 100644
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_QCOM)        += apq8016-sbc.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += apq8016-db410c.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += apq8096-db820c.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += ipq8074-hk01.dtb
  dtb-$(CONFIG_ARCH_QCOM)       += msm8916-mtp.dtb
arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c.dts renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dts +3 -1
similarity index 95%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dts
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dts
index 40b0d62861bb..86cfae4d2b9d 100644
@@ -13,10 +13,11 @@
    /dts-v1/;
  -#include "apq8016-sbc.dtsi"
+#include "apq8016-db410c.dtsi"
    / {
-       model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+       model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
+       /* The "SBC" (Single Board Computer) is another name for this

board */

        compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";

};
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
b/arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi similarity index 99%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi index 1d63e6b879de..1300c11e5f0e 100644

arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +2 -2
@@ -13,8 +13,8 @@
    #include "msm8916.dtsi"
  #include "pm8916.dtsi"
-#include "apq8016-sbc-soc-pins.dtsi"
-#include "apq8016-sbc-pmic-pins.dtsi"
+#include "apq8016-db410c-soc-pins.dtsi"
+#include "apq8016-db410c-pmic-pins.dtsi"
Quoted 8 lines

arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi

Quoted 4 lines
arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +0 -0
  #include <dt-bindings/gpio/gpio.h>
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/sound/apq8016-lpass.h>
 

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 21 lines · Nicolas Dechesne
Quoted 20 lines · Rob Clark
Quoted 17 lines · Srinivas Kandagatla
Quoted 9 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

Quoted 7 lines
Quoted 4 lines

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

iirc, skale is using the compatible name, not the filename.

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

BR,
-R

#6 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 28 lines · Rob Clark
Quoted 26 lines · Nicolas Dechesne
Quoted 24 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

Quoted 7 lines
Quoted 2 lines

iirc, skale is using the compatible name, not the filename.

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

So, actually u-boot encodes the board's fdtname.. so as much as I'd like to rename it to something more sane, unless the kernel can manage to install a symlink for backwards compat, NAK

I was trying to think of hacks for u-boot to check for multiple fdt names, but if we want to get to the point of being able to install multiple distro's on a single disk, we actually need to pass fdtname to grub (where distro specific grub.cfg is encoding the UUID of the distro's /boot partition, so it knows where to load the dtb from).. this gets nearly impossible when one name becomes multiple names. So hurray for the fdt name becoming accidental ABI!

If we managed to get this in before the 4.14 LTS I might feel differently. But afterwards, totally not. :-(

BR,
-R

#7 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 49 lines · Rob Clark
Quoted 28 lines · Rob Clark
Quoted 26 lines · Nicolas Dechesne
Quoted 24 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

Quoted 7 lines
Quoted 2 lines

iirc, skale is using the compatible name, not the filename.

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

So, actually u-boot encodes the board's fdtname.. so as much as I'd like to rename it to something more sane, unless the kernel can manage to install a symlink for backwards compat, NAK

I was trying to think of hacks for u-boot to check for multiple fdt names, but if we want to get to the point of being able to install multiple distro's on a single disk, we actually need to pass fdtname to grub (where distro specific grub.cfg is encoding the UUID of the distro's /boot partition, so it knows where to load the dtb from).. this gets nearly impossible when one name becomes multiple names. So hurray for the fdt name becoming accidental ABI!

Quoted 3 lines

If we managed to get this in before the 4.14 LTS I might feel differently. But afterwards, totally not. :-(

How do you install dtbs onto your device? Should be simple enough to run 'mv' on the new filename to the old one?

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#8 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 50 lines · Stephen Boyd
Quoted 49 lines · Rob Clark
Quoted 28 lines · Rob Clark
Quoted 26 lines · Nicolas Dechesne
Quoted 24 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

Quoted 7 lines
Quoted 2 lines

iirc, skale is using the compatible name, not the filename.

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

So, actually u-boot encodes the board's fdtname.. so as much as I'd like to rename it to something more sane, unless the kernel can manage to install a symlink for backwards compat, NAK

I was trying to think of hacks for u-boot to check for multiple fdt names, but if we want to get to the point of being able to install multiple distro's on a single disk, we actually need to pass fdtname to grub (where distro specific grub.cfg is encoding the UUID of the distro's /boot partition, so it knows where to load the dtb from).. this gets nearly impossible when one name becomes multiple names. So hurray for the fdt name becoming accidental ABI!

Quoted 7 lines
Quoted 3 lines

If we managed to get this in before the 4.14 LTS I might feel differently. But afterwards, totally not. :-(

How do you install dtbs onto your device? Should be simple enough to run 'mv' on the new filename to the old one?

it is part of the kernel package.. but fixing it in the distro means fixing it in *every* distro..

if we are going for a workaround, then it should be the kernel installing a symlink. Not every distro having to fix things up in the same way for one particular board.

BR,
-R

#9 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 11 lines · Rob Clark
Quoted 8 lines · Stephen Boyd
Quoted 3 lines · Rob Clark

If we managed to get this in before the 4.14 LTS I might feel differently. But afterwards, totally not. :-(

How do you install dtbs onto your device? Should be simple enough to run 'mv' on the new filename to the old one?

it is part of the kernel package

Are you copying the file out of the arch/arm64/boot/dts directory? Or you're using dtbs_install rule?

Quoted 1 line

but fixing it in the distro means fixing it in *every* distro..

That assumes every distro has a bootloader that's looking for one file name vs. the other. And that the distro hasn't updated the bootloader to pick a different name.

Quoted 4 lines

if we are going for a workaround, then it should be the kernel installing a symlink. Not every distro having to fix things up in the same way for one particular board.

There was a discussion about this years ago when the dtbs_install rule was introduced to the kernel makefiles[1]. Maybe the sentiment has changed, but it seems that people involved in that thread didn't consider the filename an ABI. Also, take a look at commit f4d4ffc03efc ("kbuild: dtbs_install: new make target") where it says:

"Removed option to call external script. Copying the files should be sufficient and a build system can post-process the install directory. Despite the fact an external script is used for installing the kernel, I don't think that is a pattern that should be encouraged. I would rather see buildroot type tools post process the install directory to rename or move dtb files after installing to a staging directory."

which makes it look like the distro installation scripts would rename things if desired.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/210562.html

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#10 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 7 lines · Stephen Boyd
Quoted 6 lines · Rob Clark
Quoted 5 lines · Stephen Boyd
Quoted 3 lines · Rob Clark

If we managed to get this in before the 4.14 LTS I might feel differently. But afterwards, totally not. :-(

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

How do you install dtbs onto your device? Should be simple enough to run 'mv' on the new filename to the old one?

it is part of the kernel package

Are you copying the file out of the arch/arm64/boot/dts directory? Or you're using dtbs_install rule?

dtbs_install

Quoted 5 lines
Quoted 1 line

but fixing it in the distro means fixing it in *every* distro..

That assumes every distro has a bootloader that's looking for one file name vs. the other. And that the distro hasn't updated the bootloader to pick a different name.

well, the distro starts at grub.. u-boot (implementing the uefi interface, and loading the dtb) is part of the board's "bios".. we kinda want to avoid having to provide different versions of "bios" for users to flash depending on kernel version

Quoted 12 lines
Quoted 4 lines

if we are going for a workaround, then it should be the kernel installing a symlink. Not every distro having to fix things up in the same way for one particular board.

There was a discussion about this years ago when the dtbs_install rule was introduced to the kernel makefiles[1]. Maybe the sentiment has changed, but it seems that people involved in that thread didn't consider the filename an ABI. Also, take a look at commit f4d4ffc03efc ("kbuild: dtbs_install: new make target") where it says:

Quoted 7 lines

"Removed option to call external script. Copying the files should be sufficient and a build system can post-process the install directory. Despite the fact an external script is used for installing the kernel, I don't think that is a pattern that should be encouraged. I would rather see buildroot type tools post process the install directory to rename or move dtb files after installing to a staging directory."

So there is kernel-install (which regen's initrd and runs /lib/kernel/install.d/* scripts).. but so far afaik it hasn't had to do board specific fixups.. and since this is a change there would have to propagate into every distro, I'd prefer either not needing to do this in the first place, or doing it in dtbs_install..

Then again, for db410c, since prior to 4.14 we didn't have an iommu driver (which display and gpu needed to work without hacks, and therefore less interesting for distro users), if we manage to sneak this change into 4.14, then I guess we could live with the short term headache of telling distro users to flash a different "bios" depending on kernel version.

After that, we *really* don't want the headache of handholding users thru bios upgrade for 4.14-lts to newer kernel upgrade.

BR,
-R

Quoted 8 lines

which makes it look like the distro installation scripts would rename things if desired.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/210562.html

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

#11 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

In reply to Rob Clark
Quoted 32 lines · Rob Clark
Quoted 31 lines · Rob Clark
Quoted 28 lines · Nicolas Dechesne
Quoted 20 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

Quoted 4 lines

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

iirc, skale is using the compatible name, not the filename.

Quoted 8 lines
Quoted 4 lines

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

So, actually u-boot encodes the board's fdtname.. so as much as I'd like to rename it to something more sane, unless the kernel can manage to install a symlink for backwards compat, NAK

In some cases the partition where dtbs is FAT, which doesn't do symlinks. There are various instructions around that refer to editing apq8016-sbc.dts already[1]. The goal of the patch is to reduce confusion, but requiring different firmware depending on kernel version, and/or updated userspace, is actually going to increase the confusion and frustration. So I have echo Rob here.

Quoted 7 lines

I was trying to think of hacks for u-boot to check for multiple fdt names, but if we want to get to the point of being able to install multiple distro's on a single disk, we actually need to pass fdtname to grub (where distro specific grub.cfg is encoding the UUID of the distro's /boot partition, so it knows where to load the dtb from).. this gets nearly impossible when one name becomes multiple names. So hurray for the fdt name becoming accidental ABI!

It's unfortunate yes.

But is renaming .dts really needed to make finding the right DTS easier?

Maybe just pick this part the patch:

- model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+ model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";

then you can "git grep 410c " to find the file. This is how find the Nexus, Pixel and Jetson TX dts for example.

[1] https://www.google.fi/search?q=instructions+apq8016-sbc

Riku

#12 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

Quoted 66 lines · Riku Voipio
Quoted 32 lines · Rob Clark
Quoted 31 lines · Rob Clark
Quoted 28 lines · Nicolas Dechesne
Quoted 20 lines · Rob Clark
Quoted 11 lines · Srinivas Kandagatla
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

Quoted 6 lines
Quoted 1 line

I did not like the sbc naming convention too, This was primarily done due to some legacy build tools + bootloaders which have used sbc compatible to identify boards from multiple dtb blobs. Now that we can append dtb to kernel with new LK, this should not be a issue anymore.

Quoted 4 lines

maybe it would be an idea to update skales/dbttool first to look for the new name, and then give people some time to upgrade, before changing this in the kernel. Otherwise I expect you'll cause some confusion..

iirc, skale is using the compatible name, not the filename.

Quoted 8 lines
Quoted 4 lines

ahh, yes, I think you are right.. u-boot is using a different filename.

So in this case, no issue to pick a saner name :-)

So, actually u-boot encodes the board's fdtname.. so as much as I'd like to rename it to something more sane, unless the kernel can manage to install a symlink for backwards compat, NAK

In some cases the partition where dtbs is FAT, which doesn't do symlinks. There are various instructions around that refer to editing apq8016-sbc.dts already[1]. The goal of the patch is to reduce confusion, but requiring different firmware depending on kernel version, and/or updated userspace, is actually going to increase the confusion and frustration. So I have echo Rob here.

Quoted 7 lines

I was trying to think of hacks for u-boot to check for multiple fdt names, but if we want to get to the point of being able to install multiple distro's on a single disk, we actually need to pass fdtname to grub (where distro specific grub.cfg is encoding the UUID of the distro's /boot partition, so it knows where to load the dtb from).. this gets nearly impossible when one name becomes multiple names. So hurray for the fdt name becoming accidental ABI!

It's unfortunate yes.

But is renaming .dts really needed to make finding the right DTS easier?

Maybe just pick this part the patch:

(quoted diff) +1 -1
-       model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+       model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
Quoted 2 lines

then you can "git grep 410c " to find the file. This is how find the Nexus, Pixel and Jetson TX dts for example.

You could also simply carry around both, with for example the dragonboard one including sbc and overriding the machine name.

But please don't remove any device tree file names that were there before. It only causes confusion for everyone.

Alex

#13 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

On Thu, Oct 05, 2017 at 03:06:34PM +0200, Alexander Graf wrote:

<snip>

Quoted 5 lines

You could also simply carry around both, with for example the dragonboard one including sbc and overriding the machine name.

But please don't remove any device tree file names that were there before. It only causes confusion for everyone.

This seems to be a reasonable solution.

Regards,
Andy

#14 lore raw

PATCH 2/2 arm64: dts: qcom: Rename SBC to DragonBoard 410c

In reply to Linus Walleij
Quoted 8 lines · Linus Walleij

Naming the DragonBoard 410c "SBC" (I guess "single board computer") is not very helpful for users looking for their device tree in the kernel. Also the db820c is named properly.

Rectify this, simply, do not change the compatible strings but name the DTS files in a consistent manner.

This annoys me every time I'm poking at the 410c.

Regards,
Bjorn

Quoted 84 lines

---
It's not like I don't understand that people will be nitpicky about this.

I was looking for the DragonBoard 410c devicetree and could not find it until I realized this hopeless idiomatic naming.

It cost me time and effort, and it is going to cost others time and effort. Fixing it.

The other patch naming the GPIO lines can be applied without this one.

---
 arch/arm64/boot/dts/qcom/Makefile                                    | 2 +-
 .../{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi}    | 0
 .../qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} | 0
 arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts}     | 5 +++--
 arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi}   | 4 ++--
 5 files changed, 6 insertions(+), 5 deletions(-)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc-pmic-pins.dtsi => apq8016-db410c-pmic-pins.dtsi} (100%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc-soc-pins.dtsi => apq8016-db410c-soc-pins.dtsi} (100%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dts => apq8016-db410c.dts} (95%)
 rename arch/arm64/boot/dts/qcom/{apq8016-sbc.dtsi => apq8016-db410c.dtsi} (99%)
arch/arm64/boot/dts/qcom/Makefile +1 -1
index ff81d7e5805e..fc46ab79acd9 100644
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-sbc.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= apq8016-db410c.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= apq8096-db820c.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq8074-hk01.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8916-mtp.dtb
arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-pmic-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi +0 -0
similarity index 100%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c-soc-pins.dtsi
arch/arm64/boot/dts/qcom/apq8016-db410c.dts renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dts +3 -2
similarity index 95%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dts
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dts
index 40b0d62861bb..86cfae4d2b9d 100644
@@ -13,10 +13,11 @@
 
 /dts-v1/;
 
-#include "apq8016-sbc.dtsi"
+#include "apq8016-db410c.dtsi"
 
 / {
-	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
+	model = "Qualcomm Technologies, Inc. APQ 8016 DragonBoard 410c";
+	/* The "SBC" (Single Board Computer) is another name for this board */
 	compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
 };
 
arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi renamed from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +2 -2
similarity index 99%
rename from arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
rename to arch/arm64/boot/dts/qcom/apq8016-db410c.dtsi
index 1d63e6b879de..1300c11e5f0e 100644
@@ -13,8 +13,8 @@
 
 #include "msm8916.dtsi"
 #include "pm8916.dtsi"
-#include "apq8016-sbc-soc-pins.dtsi"
-#include "apq8016-sbc-pmic-pins.dtsi"
+#include "apq8016-db410c-soc-pins.dtsi"
+#include "apq8016-db410c-pmic-pins.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/sound/apq8016-lpass.h>
Signature · 1 line
2.13.5
#15 lore raw

PATCH 1/2 arm64: qcom: sbc: Name GPIO lines

In reply to Linus Walleij
Quoted 12 lines · Linus Walleij

This names the GPIO lines on the APQ8016 "SBC" also known as the DragonBoard 410c, according to the schematic. This is necessary for a conforming userspace looking across all GPIO chips for the GPIO lines named "GPIO-A" thru "GPIO-L".

---
I don't have this hardware available, you can test it easily by compiling tools/gpio/* and issue "lsgpio" to see the GPIO line names in the console.

Quoted 4 lines

Please apply this even if you're not applying the second patch renaming the DTS files.

---
 arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 167 +++++++++++++++++++++++++++++++

Can you add this to the apq8016-sbc.dtsi file instead? Probably we should fold the two files together, but so far nothing goes into the .dts file besides compatible string and model for the board.

Quoted 8 lines
 1 file changed, 167 insertions(+)
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +0 -0
index 825f489a2af7..40b0d62861bb 100644
@@ -19,3 +19,170 @@
 	model = "Qualcomm Technologies, Inc. APQ 8016 SBC";

arch/arm64/boot/dts/qcom/apq8016-sbc.dts line 29

Quoted 10 lines
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +8 -0
 	compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
 };
+
+/*
+ * 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)
+ *         "" = no idea, schematic doesn't say, could be
+ *              unrouted (not connected to any external pin)

This never happens?

arch/arm64/boot/dts/qcom/apq8016-sbc.dts line 31

Quoted 2 lines
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +2 -0
+ *         LSEC = Low Speed External Connector
+ *         HSEC = High Speed External Connector

This is not in the patch?

Quoted 7 lines
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +7 -0
+ *
+ * Line names are taken from the schematic "DragonBoard410c"
+ * dated monday, august 31, 2015. Page 5 in particular.
+ *
+ * For the lines routed to the external connectors the
+ * lines are named after the 96Boards CE Specification 1.0,
+ * Appendix "Expansion Connector Signal Description".

arch/arm64/boot/dts/qcom/apq8016-sbc.dts line 48

Quoted 10 lines
arch/arm64/boot/dts/qcom/apq8016-sbc.dts +10 -0
+ *
+ * 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.
+ */
+&msmgpio {

And also not use phandles and put the gpio-line-names into the node at the correct path?

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project