Add pull-up/pull-down (PUPD) register definitions for mt8365.

Signed-off-by: David Lechner <[email protected]>
---
 drivers/pinctrl/mediatek/pinctrl-mt8365.c | 132 ++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8365.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8365.c
index 0eae85b0078..9e4fe44e861 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt8365.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8365.c
@@ -23,6 +23,9 @@
 #define PIN_FIELD_DRV(_s_pin, _e_pin, _s_addr, _s_bit) \
        PIN_FIELD_CALC(_s_pin, _e_pin, _s_addr, 0x10, _s_bit, 4, 32, true)
 
+#define PIN_FIELD_PUPD(_s_pin, _s_addr, _s_bit) \
+       PIN_FIELD(_s_pin, _s_pin, _s_addr, 0x10, _s_bit, 1)
+
 static const struct mtk_pin_field_calc mt8365_pin_mode_range[] = {
        PIN_FIELD_MODE(0,   9,   0x1e0),
        PIN_FIELD_MODE(10,  19,  0x1f0),
@@ -223,6 +226,132 @@ static const struct mtk_pin_field_calc 
mt8365_pin_drv_range[] = {
        PIN_FIELD_DRV(136, 144, 0x770, 24),
 };
 
+static const struct mtk_pin_field_calc mt8365_pin_pupd_range[] = {
+       /* KeyPad */
+       PIN_FIELD_PUPD(22, 0x70, 2),
+       PIN_FIELD_PUPD(23, 0x70, 5),
+       PIN_FIELD_PUPD(24, 0x70, 8),
+       PIN_FIELD_PUPD(25, 0x70, 11),
+       /* MSDC2 */
+       PIN_FIELD_PUPD(80, 0x70, 14),
+       PIN_FIELD_PUPD(81, 0x70, 17),
+       PIN_FIELD_PUPD(82, 0x70, 20),
+       PIN_FIELD_PUPD(83, 0x70, 23),
+       PIN_FIELD_PUPD(84, 0x70, 26),
+       PIN_FIELD_PUPD(85, 0x70, 29),
+       PIN_FIELD_PUPD(86, 0x80, 2),
+       /* MSDC1 */
+       PIN_FIELD_PUPD(87, 0x80, 5),
+       PIN_FIELD_PUPD(88, 0x80, 8),
+       PIN_FIELD_PUPD(89, 0x80, 11),
+       PIN_FIELD_PUPD(90, 0x80, 14),
+       PIN_FIELD_PUPD(91, 0x80, 17),
+       PIN_FIELD_PUPD(92, 0x80, 20),
+       /* MSDC0 */
+       PIN_FIELD_PUPD(93, 0x80, 23),
+       PIN_FIELD_PUPD(94, 0x80, 26),
+       PIN_FIELD_PUPD(95, 0x80, 29),
+       PIN_FIELD_PUPD(96, 0x90, 2),
+       PIN_FIELD_PUPD(97, 0x90, 5),
+       PIN_FIELD_PUPD(98, 0x90, 8),
+       PIN_FIELD_PUPD(99, 0x90, 11),
+       PIN_FIELD_PUPD(100, 0x90, 14),
+       PIN_FIELD_PUPD(101, 0x90, 17),
+       PIN_FIELD_PUPD(102, 0x90, 20),
+       PIN_FIELD_PUPD(103, 0x90, 23),
+       PIN_FIELD_PUPD(104, 0x90, 26),
+       /* NFI */
+       PIN_FIELD_PUPD(105, 0x90, 29),
+       PIN_FIELD_PUPD(106, 0xf0, 2),
+       PIN_FIELD_PUPD(107, 0xf0, 5),
+       PIN_FIELD_PUPD(108, 0xf0, 8),
+       PIN_FIELD_PUPD(109, 0xf0, 11),
+};
+
+static const struct mtk_pin_field_calc mt8365_pin_r1_range[] = {
+       /* KeyPad */
+       PIN_FIELD_PUPD(22, 0x70, 1),
+       PIN_FIELD_PUPD(23, 0x70, 4),
+       PIN_FIELD_PUPD(24, 0x70, 7),
+       PIN_FIELD_PUPD(25, 0x70, 10),
+       /* MSDC2 */
+       PIN_FIELD_PUPD(80, 0x70, 13),
+       PIN_FIELD_PUPD(81, 0x70, 16),
+       PIN_FIELD_PUPD(82, 0x70, 19),
+       PIN_FIELD_PUPD(83, 0x70, 22),
+       PIN_FIELD_PUPD(84, 0x70, 25),
+       PIN_FIELD_PUPD(85, 0x70, 28),
+       PIN_FIELD_PUPD(86, 0x80, 1),
+       /* MSDC1 */
+       PIN_FIELD_PUPD(87, 0x80, 4),
+       PIN_FIELD_PUPD(88, 0x80, 7),
+       PIN_FIELD_PUPD(89, 0x80, 10),
+       PIN_FIELD_PUPD(90, 0x80, 13),
+       PIN_FIELD_PUPD(91, 0x80, 16),
+       PIN_FIELD_PUPD(92, 0x80, 19),
+       /* MSDC0 */
+       PIN_FIELD_PUPD(93, 0x80, 22),
+       PIN_FIELD_PUPD(94, 0x80, 25),
+       PIN_FIELD_PUPD(95, 0x80, 28),
+       PIN_FIELD_PUPD(96, 0x90, 1),
+       PIN_FIELD_PUPD(97, 0x90, 4),
+       PIN_FIELD_PUPD(98, 0x90, 7),
+       PIN_FIELD_PUPD(99, 0x90, 10),
+       PIN_FIELD_PUPD(100, 0x90, 13),
+       PIN_FIELD_PUPD(101, 0x90, 16),
+       PIN_FIELD_PUPD(102, 0x90, 19),
+       PIN_FIELD_PUPD(103, 0x90, 22),
+       PIN_FIELD_PUPD(104, 0x90, 25),
+       /* N */
+       PIN_FIELD_PUPD(105, 0x90, 28),
+       PIN_FIELD_PUPD(106, 0xf0, 1),
+       PIN_FIELD_PUPD(107, 0xf0, 4),
+       PIN_FIELD_PUPD(108, 0xf0, 7),
+       PIN_FIELD_PUPD(109, 0xf0, 10),
+};
+
+static const struct mtk_pin_field_calc mt8365_pin_r0_range[] = {
+       /* KeyPad */
+       PIN_FIELD_PUPD(22, 0x70, 0),
+       PIN_FIELD_PUPD(23, 0x70, 3),
+       PIN_FIELD_PUPD(24, 0x70, 6),
+       PIN_FIELD_PUPD(25, 0x70, 9),
+       /* MSDC2 */
+       PIN_FIELD_PUPD(80, 0x70, 12),
+       PIN_FIELD_PUPD(81, 0x70, 15),
+       PIN_FIELD_PUPD(82, 0x70, 18),
+       PIN_FIELD_PUPD(83, 0x70, 21),
+       PIN_FIELD_PUPD(84, 0x70, 24),
+       PIN_FIELD_PUPD(85, 0x70, 27),
+       PIN_FIELD_PUPD(86, 0x80, 0),
+       /* MSDC1 */
+       PIN_FIELD_PUPD(87, 0x80, 3),
+       PIN_FIELD_PUPD(88, 0x80, 6),
+       PIN_FIELD_PUPD(89, 0x80, 9),
+       PIN_FIELD_PUPD(90, 0x80, 12),
+       PIN_FIELD_PUPD(91, 0x80, 15),
+       PIN_FIELD_PUPD(92, 0x80, 18),
+       /* MSDC0 */
+       PIN_FIELD_PUPD(93, 0x80, 21),
+       PIN_FIELD_PUPD(94, 0x80, 24),
+       PIN_FIELD_PUPD(95, 0x80, 27),
+       PIN_FIELD_PUPD(96, 0x90, 0),
+       PIN_FIELD_PUPD(97, 0x90, 3),
+       PIN_FIELD_PUPD(98, 0x90, 6),
+       PIN_FIELD_PUPD(99, 0x90, 9),
+       PIN_FIELD_PUPD(100, 0x90, 12),
+       PIN_FIELD_PUPD(101, 0x90, 15),
+       PIN_FIELD_PUPD(102, 0x90, 18),
+       PIN_FIELD_PUPD(103, 0x90, 21),
+       PIN_FIELD_PUPD(104, 0x90, 24),
+       /* NFI */
+       PIN_FIELD_PUPD(105, 0x90, 27),
+       PIN_FIELD_PUPD(106, 0xf0, 0),
+       PIN_FIELD_PUPD(107, 0xf0, 3),
+       PIN_FIELD_PUPD(108, 0xf0, 6),
+       PIN_FIELD_PUPD(109, 0xf0, 9),
+};
+
 static const struct mtk_pin_reg_calc mt8365_reg_cals[] = {
        [PINCTRL_PIN_REG_MODE]    = MTK_RANGE(mt8365_pin_mode_range),
        [PINCTRL_PIN_REG_DIR]     = MTK_RANGE(mt8365_pin_dir_range),
@@ -233,6 +362,9 @@ static const struct mtk_pin_reg_calc mt8365_reg_cals[] = {
        [PINCTRL_PIN_REG_PULLSEL] = MTK_RANGE(mt8365_pin_pullsel_range),
        [PINCTRL_PIN_REG_PULLEN]  = MTK_RANGE(mt8365_pin_pullen_range),
        [PINCTRL_PIN_REG_DRV]     = MTK_RANGE(mt8365_pin_drv_range),
+       [PINCTRL_PIN_REG_PUPD]    = MTK_RANGE(mt8365_pin_pupd_range),
+       [PINCTRL_PIN_REG_R1]      = MTK_RANGE(mt8365_pin_r1_range),
+       [PINCTRL_PIN_REG_R0]      = MTK_RANGE(mt8365_pin_r0_range),
 };
 
 static const struct mtk_pin_desc mt8365_pins[] = {

---
base-commit: d503633a36767d756c7de28305cf0de79440cbc0
change-id: 20260113-pinctrl-mtk-mt8365-pupd-registers-19e4aa3ee94e

Best regards,
-- 
David Lechner <[email protected]>

Reply via email to