]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mach-snapdragon: gpio: introduce msm_special_pin_data
authorNeil Armstrong <neil.armstrong@linaro.org>
Tue, 28 May 2024 08:31:54 +0000 (10:31 +0200)
committerCaleb Connolly <caleb.connolly@linaro.org>
Fri, 5 Jul 2024 10:04:48 +0000 (12:04 +0200)
In order to help setup pin configuration for special pins (UFS, SDCard),
introduce the msm_special_pin_data struct largely inspired from the
Linux conterpart but with only U-Boot required fields.

This struct is added to the pins_data to allow specifying the special
pins data for each SoC.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
arch/arm/mach-snapdragon/include/mach/gpio.h

index 53c6ae0649064f1227a7556a179ec06d62edab08..cc8f405e20b4392cf9226b805bc85b73aedd9134 100644 (file)
 #include <asm/types.h>
 #include <stdbool.h>
 
+struct msm_special_pin_data {
+       char *name;
+
+       u32 ctl_reg;
+       u32 io_reg;
+
+       unsigned pull_bit:5;
+       unsigned drv_bit:5;
+
+       unsigned oe_bit:5;
+       unsigned in_bit:5;
+       unsigned out_bit:5;
+};
+
 struct msm_pin_data {
        int pin_count;
        const unsigned int *pin_offsets;
-       /* Index of first special pin, these are ignored for now */
        unsigned int special_pins_start;
+       const struct msm_special_pin_data *special_pins_data;
 };
 
 static inline u32 qcom_pin_offset(const unsigned int *offs, unsigned int selector)