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>
This commit is contained in:
Neil Armstrong
2024-05-28 10:31:54 +02:00
committed by Caleb Connolly
parent e948fe5f01
commit 8daee349e5

View File

@@ -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)