aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorNeil Armstrong <neil.armstrong@linaro.org>2024-05-28 10:31:54 +0200
committerCaleb Connolly <caleb.connolly@linaro.org>2024-07-05 12:04:48 +0200
commit8daee349e5aaa7363a0248e7830978b6f7946d9a (patch)
tree1dd95a14ce38d927e70996a8b135d624c03fb243 /arch
parente948fe5f01dafa07f6fc3e1fcae1354983e5f5a7 (diff)
downloadu-boot-8daee349e5aaa7363a0248e7830978b6f7946d9a.zip
u-boot-8daee349e5aaa7363a0248e7830978b6f7946d9a.tar.gz
u-boot-8daee349e5aaa7363a0248e7830978b6f7946d9a.tar.bz2
arm: mach-snapdragon: gpio: introduce msm_special_pin_data
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-snapdragon/include/mach/gpio.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/mach-snapdragon/include/mach/gpio.h b/arch/arm/mach-snapdragon/include/mach/gpio.h
index 53c6ae0..cc8f405 100644
--- a/arch/arm/mach-snapdragon/include/mach/gpio.h
+++ b/arch/arm/mach-snapdragon/include/mach/gpio.h
@@ -10,11 +10,25 @@
#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)