[PATCH v8 09/12] mach-snapdragon: move board_usb_init to dragonboard410c.c
michael.srba at seznam.cz
michael.srba at seznam.cz
Sat May 16 20:19:58 CEST 2026
From: Michael Srba <Michael.Srba at seznam.cz>
This function is currently only really needed on db410c,
move it to the board-specific .c file ahead of introducing
board_spl.c to simplify things. If db410c is to ever be
converted to not use board-spefific funtions, the generic
solution replacing this function should probably not be
Qualcomm-specific anyway.
Signed-off-by: Michael Srba <Michael.Srba at seznam.cz>
---
arch/arm/mach-snapdragon/board.c | 45 +-----------------------
board/qualcomm/dragonboard410c/dragonboard410c.c | 41 +++++++++++++++++++++
2 files changed, 42 insertions(+), 44 deletions(-)
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 63055a60af4..b55d73e0e52 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -10,14 +10,10 @@
#define pr_fmt(fmt) "QCOM: " fmt
#include <asm/armv8/mmu.h>
-#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/psci.h>
#include <asm/system.h>
-#include <dm/device.h>
-#include <dm/pinctrl.h>
-#include <dm/uclass-internal.h>
-#include <dm/read.h>
+#include <dm/ofnode.h>
#include <power/regulator.h>
#include <env.h>
#include <fdt_support.h>
@@ -29,7 +25,6 @@
#include <lmb.h>
#include <malloc.h>
#include <fdt_support.h>
-#include <usb.h>
#include <soc/qcom/smem.h>
#include <sort.h>
#include <soc/qcom/smem.h>
@@ -151,44 +146,6 @@ int board_fdt_blob_setup(void **fdtp)
return ret;
}
-/*
- * Some Qualcomm boards require GPIO configuration when switching USB modes.
- * Support setting this configuration via pinctrl state.
- */
-int board_usb_init(int index, enum usb_init_type init)
-{
- struct udevice *usb;
- int ret = 0;
-
- /* USB device */
- ret = uclass_find_device_by_seq(UCLASS_USB, index, &usb);
- if (ret) {
- printf("Cannot find USB device\n");
- return ret;
- }
-
- ret = dev_read_stringlist_search(usb, "pinctrl-names",
- "device");
- /* No "device" pinctrl state, so just bail */
- if (ret < 0)
- return 0;
-
- /* Select "default" or "device" pinctrl */
- switch (init) {
- case USB_INIT_HOST:
- pinctrl_select_state(usb, "default");
- break;
- case USB_INIT_DEVICE:
- pinctrl_select_state(usb, "device");
- break;
- default:
- debug("Unknown usb_init_type %d\n", init);
- break;
- }
-
- return 0;
-}
-
/*
* Some boards still need board specific init code, they can implement that by
* overriding this function.
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c
index 36e4d49046e..3c0d1cbb2d8 100644
--- a/board/qualcomm/dragonboard410c/dragonboard410c.c
+++ b/board/qualcomm/dragonboard410c/dragonboard410c.c
@@ -8,7 +8,10 @@
#include <button.h>
#include <cpu_func.h>
#include <dm.h>
+#include <dm/device.h>
#include <dm/pinctrl.h>
+#include <dm/read.h>
+#include <dm/uclass-internal.h>
#include <env.h>
#include <init.h>
#include <mmc.h>
@@ -19,6 +22,44 @@
#include <fdt_support.h>
#include <linux/delay.h>
+/*
+ * db410c requires GPIO configuration when switching USB modes.
+ * Support setting this configuration via pinctrl state.
+ */
+int board_usb_init(int index, enum usb_init_type init)
+{
+ struct udevice *usb;
+ int ret = 0;
+
+ /* USB device */
+ ret = uclass_find_device_by_seq(UCLASS_USB, index, &usb);
+ if (ret) {
+ printf("Cannot find USB device\n");
+ return ret;
+ }
+
+ ret = dev_read_stringlist_search(usb, "pinctrl-names",
+ "device");
+ /* No "device" pinctrl state, so just bail */
+ if (ret < 0)
+ return 0;
+
+ /* Select "default" or "device" pinctrl */
+ switch (init) {
+ case USB_INIT_HOST:
+ pinctrl_select_state(usb, "default");
+ break;
+ case USB_INIT_DEVICE:
+ pinctrl_select_state(usb, "device");
+ break;
+ default:
+ debug("Unknown usb_init_type %d\n", init);
+ break;
+ }
+
+ return 0;
+}
+
static u32 msm_board_serial(void)
{
struct mmc *mmc_dev;
--
2.54.0
More information about the U-Boot
mailing list