Commit 31c9c4c5 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pinctrl-v6.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control fixes from Linus Walleij:
 "Aere is a hopefully final round of pin control fixes. Nothing special,
  driver fixes and we caught a potential NULL pointer exception.

   - Fix a potential NULL dereference in the core!

   - Fix all pin mux routes in the Rockchop PX30 driver

   - Fix the UFS pins in the Qualcomm SC8280XP driver

   - Fix bias disabling in the Mediatek driver

   - Fix debounce time settings in the Mediatek driver"

* tag 'pinctrl-v6.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: mediatek: Export debounce time tables
  pinctrl: mediatek: Fix EINT pins input debounce time configuration
  pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map
  pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE
  pinctrl: qcom: sc8280xp: Rectify UFS reset pins
  pinctrl: rockchip: list all pins in a possible mux route for PX30
parents 941209ef 2e35b25d
...@@ -220,6 +220,8 @@ int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev) ...@@ -220,6 +220,8 @@ int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev)
for (state = 0; ; state++) { for (state = 0; ; state++) {
/* Retrieve the pinctrl-* property */ /* Retrieve the pinctrl-* property */
propname = kasprintf(GFP_KERNEL, "pinctrl-%d", state); propname = kasprintf(GFP_KERNEL, "pinctrl-%d", state);
if (!propname)
return -ENOMEM;
prop = of_find_property(np, propname, &size); prop = of_find_property(np, propname, &size);
kfree(propname); kfree(propname);
if (!prop) { if (!prop) {
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#define MTK_EINT_EDGE_SENSITIVE 0 #define MTK_EINT_EDGE_SENSITIVE 0
#define MTK_EINT_LEVEL_SENSITIVE 1 #define MTK_EINT_LEVEL_SENSITIVE 1
#define MTK_EINT_DBNC_SET_DBNC_BITS 4 #define MTK_EINT_DBNC_SET_DBNC_BITS 4
#define MTK_EINT_DBNC_MAX 16
#define MTK_EINT_DBNC_RST_BIT (0x1 << 1) #define MTK_EINT_DBNC_RST_BIT (0x1 << 1)
#define MTK_EINT_DBNC_SET_EN (0x1 << 0) #define MTK_EINT_DBNC_SET_EN (0x1 << 0)
...@@ -48,6 +49,21 @@ static const struct mtk_eint_regs mtk_generic_eint_regs = { ...@@ -48,6 +49,21 @@ static const struct mtk_eint_regs mtk_generic_eint_regs = {
.dbnc_clr = 0x700, .dbnc_clr = 0x700,
}; };
const unsigned int debounce_time_mt2701[] = {
500, 1000, 16000, 32000, 64000, 128000, 256000, 0
};
EXPORT_SYMBOL_GPL(debounce_time_mt2701);
const unsigned int debounce_time_mt6765[] = {
125, 250, 500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0
};
EXPORT_SYMBOL_GPL(debounce_time_mt6765);
const unsigned int debounce_time_mt6795[] = {
500, 1000, 16000, 32000, 64000, 128000, 256000, 512000, 0
};
EXPORT_SYMBOL_GPL(debounce_time_mt6795);
static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint, static void __iomem *mtk_eint_get_offset(struct mtk_eint *eint,
unsigned int eint_num, unsigned int eint_num,
unsigned int offset) unsigned int offset)
...@@ -404,10 +420,11 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, ...@@ -404,10 +420,11 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num,
int virq, eint_offset; int virq, eint_offset;
unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask, unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask,
dbnc; dbnc;
static const unsigned int debounce_time[] = {500, 1000, 16000, 32000,
64000, 128000, 256000};
struct irq_data *d; struct irq_data *d;
if (!eint->hw->db_time)
return -EOPNOTSUPP;
virq = irq_find_mapping(eint->domain, eint_num); virq = irq_find_mapping(eint->domain, eint_num);
eint_offset = (eint_num % 4) * 8; eint_offset = (eint_num % 4) * 8;
d = irq_get_irq_data(virq); d = irq_get_irq_data(virq);
...@@ -418,9 +435,9 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, ...@@ -418,9 +435,9 @@ int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num,
if (!mtk_eint_can_en_debounce(eint, eint_num)) if (!mtk_eint_can_en_debounce(eint, eint_num))
return -EINVAL; return -EINVAL;
dbnc = ARRAY_SIZE(debounce_time); dbnc = eint->num_db_time;
for (i = 0; i < ARRAY_SIZE(debounce_time); i++) { for (i = 0; i < eint->num_db_time; i++) {
if (debounce <= debounce_time[i]) { if (debounce <= eint->hw->db_time[i]) {
dbnc = i; dbnc = i;
break; break;
} }
...@@ -494,6 +511,13 @@ int mtk_eint_do_init(struct mtk_eint *eint) ...@@ -494,6 +511,13 @@ int mtk_eint_do_init(struct mtk_eint *eint)
if (!eint->domain) if (!eint->domain)
return -ENOMEM; return -ENOMEM;
if (eint->hw->db_time) {
for (i = 0; i < MTK_EINT_DBNC_MAX; i++)
if (eint->hw->db_time[i] == 0)
break;
eint->num_db_time = i;
}
mtk_eint_hw_init(eint); mtk_eint_hw_init(eint);
for (i = 0; i < eint->hw->ap_num; i++) { for (i = 0; i < eint->hw->ap_num; i++) {
int virq = irq_create_mapping(eint->domain, i); int virq = irq_create_mapping(eint->domain, i);
......
...@@ -37,8 +37,13 @@ struct mtk_eint_hw { ...@@ -37,8 +37,13 @@ struct mtk_eint_hw {
u8 ports; u8 ports;
unsigned int ap_num; unsigned int ap_num;
unsigned int db_cnt; unsigned int db_cnt;
const unsigned int *db_time;
}; };
extern const unsigned int debounce_time_mt2701[];
extern const unsigned int debounce_time_mt6765[];
extern const unsigned int debounce_time_mt6795[];
struct mtk_eint; struct mtk_eint;
struct mtk_eint_xt { struct mtk_eint_xt {
...@@ -62,6 +67,7 @@ struct mtk_eint { ...@@ -62,6 +67,7 @@ struct mtk_eint {
/* Used to fit into various EINT device */ /* Used to fit into various EINT device */
const struct mtk_eint_hw *hw; const struct mtk_eint_hw *hw;
const struct mtk_eint_regs *regs; const struct mtk_eint_regs *regs;
u16 num_db_time;
/* Used to fit into various pinctrl device */ /* Used to fit into various pinctrl device */
void *pctl; void *pctl;
......
...@@ -518,6 +518,7 @@ static const struct mtk_pinctrl_devdata mt2701_pinctrl_data = { ...@@ -518,6 +518,7 @@ static const struct mtk_pinctrl_devdata mt2701_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 169, .ap_num = 169,
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt2701,
}, },
}; };
......
...@@ -567,6 +567,7 @@ static const struct mtk_pinctrl_devdata mt2712_pinctrl_data = { ...@@ -567,6 +567,7 @@ static const struct mtk_pinctrl_devdata mt2712_pinctrl_data = {
.ports = 8, .ports = 8,
.ap_num = 229, .ap_num = 229,
.db_cnt = 40, .db_cnt = 40,
.db_time = debounce_time_mt2701,
}, },
}; };
......
...@@ -1062,6 +1062,7 @@ static const struct mtk_eint_hw mt6765_eint_hw = { ...@@ -1062,6 +1062,7 @@ static const struct mtk_eint_hw mt6765_eint_hw = {
.ports = 6, .ports = 6,
.ap_num = 160, .ap_num = 160,
.db_cnt = 13, .db_cnt = 13,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt6765_data = { static const struct mtk_pin_soc mt6765_data = {
......
...@@ -737,6 +737,7 @@ static const struct mtk_eint_hw mt6779_eint_hw = { ...@@ -737,6 +737,7 @@ static const struct mtk_eint_hw mt6779_eint_hw = {
.ports = 6, .ports = 6,
.ap_num = 195, .ap_num = 195,
.db_cnt = 13, .db_cnt = 13,
.db_time = debounce_time_mt2701,
}; };
static const struct mtk_pin_soc mt6779_data = { static const struct mtk_pin_soc mt6779_data = {
......
...@@ -475,6 +475,7 @@ static const struct mtk_eint_hw mt6795_eint_hw = { ...@@ -475,6 +475,7 @@ static const struct mtk_eint_hw mt6795_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = 224, .ap_num = 224,
.db_cnt = 32, .db_cnt = 32,
.db_time = debounce_time_mt6795,
}; };
static const unsigned int mt6795_pull_type[] = { static const unsigned int mt6795_pull_type[] = {
......
...@@ -846,6 +846,7 @@ static const struct mtk_eint_hw mt7622_eint_hw = { ...@@ -846,6 +846,7 @@ static const struct mtk_eint_hw mt7622_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = ARRAY_SIZE(mt7622_pins), .ap_num = ARRAY_SIZE(mt7622_pins),
.db_cnt = 20, .db_cnt = 20,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt7622_data = { static const struct mtk_pin_soc mt7622_data = {
......
...@@ -1369,6 +1369,7 @@ static const struct mtk_eint_hw mt7623_eint_hw = { ...@@ -1369,6 +1369,7 @@ static const struct mtk_eint_hw mt7623_eint_hw = {
.ports = 6, .ports = 6,
.ap_num = 169, .ap_num = 169,
.db_cnt = 20, .db_cnt = 20,
.db_time = debounce_time_mt2701,
}; };
static struct mtk_pin_soc mt7623_data = { static struct mtk_pin_soc mt7623_data = {
......
...@@ -402,6 +402,7 @@ static const struct mtk_eint_hw mt7629_eint_hw = { ...@@ -402,6 +402,7 @@ static const struct mtk_eint_hw mt7629_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = ARRAY_SIZE(mt7629_pins), .ap_num = ARRAY_SIZE(mt7629_pins),
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt2701,
}; };
static struct mtk_pin_soc mt7629_data = { static struct mtk_pin_soc mt7629_data = {
......
...@@ -826,6 +826,7 @@ static const struct mtk_eint_hw mt7986a_eint_hw = { ...@@ -826,6 +826,7 @@ static const struct mtk_eint_hw mt7986a_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = ARRAY_SIZE(mt7986a_pins), .ap_num = ARRAY_SIZE(mt7986a_pins),
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_eint_hw mt7986b_eint_hw = { static const struct mtk_eint_hw mt7986b_eint_hw = {
...@@ -833,6 +834,7 @@ static const struct mtk_eint_hw mt7986b_eint_hw = { ...@@ -833,6 +834,7 @@ static const struct mtk_eint_hw mt7986b_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = ARRAY_SIZE(mt7986b_pins), .ap_num = ARRAY_SIZE(mt7986b_pins),
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt6765,
}; };
static struct mtk_pin_soc mt7986a_data = { static struct mtk_pin_soc mt7986a_data = {
......
...@@ -286,6 +286,7 @@ static const struct mtk_pinctrl_devdata mt8127_pinctrl_data = { ...@@ -286,6 +286,7 @@ static const struct mtk_pinctrl_devdata mt8127_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 143, .ap_num = 143,
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt2701,
}, },
}; };
......
...@@ -315,6 +315,7 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = { ...@@ -315,6 +315,7 @@ static const struct mtk_pinctrl_devdata mt8135_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 192, .ap_num = 192,
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt2701,
}, },
}; };
......
...@@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8167_pinctrl_data = { ...@@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8167_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 169, .ap_num = 169,
.db_cnt = 64, .db_cnt = 64,
.db_time = debounce_time_mt6795,
}, },
}; };
......
...@@ -327,6 +327,7 @@ static const struct mtk_pinctrl_devdata mt8173_pinctrl_data = { ...@@ -327,6 +327,7 @@ static const struct mtk_pinctrl_devdata mt8173_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 224, .ap_num = 224,
.db_cnt = 16, .db_cnt = 16,
.db_time = debounce_time_mt2701,
}, },
}; };
......
...@@ -545,6 +545,7 @@ static const struct mtk_eint_hw mt8183_eint_hw = { ...@@ -545,6 +545,7 @@ static const struct mtk_eint_hw mt8183_eint_hw = {
.ports = 6, .ports = 6,
.ap_num = 212, .ap_num = 212,
.db_cnt = 13, .db_cnt = 13,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt8183_data = { static const struct mtk_pin_soc mt8183_data = {
......
...@@ -1222,6 +1222,7 @@ static const struct mtk_eint_hw mt8186_eint_hw = { ...@@ -1222,6 +1222,7 @@ static const struct mtk_eint_hw mt8186_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = 217, .ap_num = 217,
.db_cnt = 32, .db_cnt = 32,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt8186_data = { static const struct mtk_pin_soc mt8186_data = {
......
...@@ -1625,6 +1625,7 @@ static const struct mtk_eint_hw mt8188_eint_hw = { ...@@ -1625,6 +1625,7 @@ static const struct mtk_eint_hw mt8188_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = 225, .ap_num = 225,
.db_cnt = 32, .db_cnt = 32,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt8188_data = { static const struct mtk_pin_soc mt8188_data = {
......
...@@ -1371,6 +1371,7 @@ static const struct mtk_eint_hw mt8192_eint_hw = { ...@@ -1371,6 +1371,7 @@ static const struct mtk_eint_hw mt8192_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = 224, .ap_num = 224,
.db_cnt = 32, .db_cnt = 32,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_reg_calc mt8192_reg_cals[PINCTRL_PIN_REG_MAX] = { static const struct mtk_pin_reg_calc mt8192_reg_cals[PINCTRL_PIN_REG_MAX] = {
......
...@@ -935,6 +935,7 @@ static const struct mtk_eint_hw mt8195_eint_hw = { ...@@ -935,6 +935,7 @@ static const struct mtk_eint_hw mt8195_eint_hw = {
.ports = 7, .ports = 7,
.ap_num = 225, .ap_num = 225,
.db_cnt = 32, .db_cnt = 32,
.db_time = debounce_time_mt6765,
}; };
static const struct mtk_pin_soc mt8195_data = { static const struct mtk_pin_soc mt8195_data = {
......
...@@ -453,6 +453,7 @@ static const struct mtk_pinctrl_devdata mt8365_pinctrl_data = { ...@@ -453,6 +453,7 @@ static const struct mtk_pinctrl_devdata mt8365_pinctrl_data = {
.ports = 5, .ports = 5,
.ap_num = 160, .ap_num = 160,
.db_cnt = 160, .db_cnt = 160,
.db_time = debounce_time_mt6765,
}, },
}; };
......
...@@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8516_pinctrl_data = { ...@@ -319,6 +319,7 @@ static const struct mtk_pinctrl_devdata mt8516_pinctrl_data = {
.ports = 6, .ports = 6,
.ap_num = 169, .ap_num = 169,
.db_cnt = 64, .db_cnt = 64,
.db_time = debounce_time_mt6795,
}, },
}; };
......
...@@ -709,6 +709,9 @@ static int mtk_pinconf_bias_set_rsel(struct mtk_pinctrl *hw, ...@@ -709,6 +709,9 @@ static int mtk_pinconf_bias_set_rsel(struct mtk_pinctrl *hw,
{ {
int err, rsel_val; int err, rsel_val;
if (!pullup && arg == MTK_DISABLE)
return 0;
if (hw->rsel_si_unit) { if (hw->rsel_si_unit) {
/* find pin rsel_index from pin_rsel array*/ /* find pin rsel_index from pin_rsel array*/
err = mtk_hw_pin_rsel_lookup(hw, desc, pullup, arg, &rsel_val); err = mtk_hw_pin_rsel_lookup(hw, desc, pullup, arg, &rsel_val);
......
...@@ -679,14 +679,54 @@ static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin, ...@@ -679,14 +679,54 @@ static void rockchip_get_recalced_mux(struct rockchip_pin_bank *bank, int pin,
} }
static struct rockchip_mux_route_data px30_mux_route_data[] = { static struct rockchip_mux_route_data px30_mux_route_data[] = {
RK_MUXROUTE_SAME(2, RK_PB4, 1, 0x184, BIT(16 + 7)), /* cif-d0m0 */
RK_MUXROUTE_SAME(3, RK_PA1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d0m1 */
RK_MUXROUTE_SAME(2, RK_PB6, 1, 0x184, BIT(16 + 7)), /* cif-d1m0 */
RK_MUXROUTE_SAME(3, RK_PA2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d1m1 */
RK_MUXROUTE_SAME(2, RK_PA0, 1, 0x184, BIT(16 + 7)), /* cif-d2m0 */ RK_MUXROUTE_SAME(2, RK_PA0, 1, 0x184, BIT(16 + 7)), /* cif-d2m0 */
RK_MUXROUTE_SAME(3, RK_PA3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d2m1 */ RK_MUXROUTE_SAME(3, RK_PA3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d2m1 */
RK_MUXROUTE_SAME(2, RK_PA1, 1, 0x184, BIT(16 + 7)), /* cif-d3m0 */
RK_MUXROUTE_SAME(3, RK_PA5, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d3m1 */
RK_MUXROUTE_SAME(2, RK_PA2, 1, 0x184, BIT(16 + 7)), /* cif-d4m0 */
RK_MUXROUTE_SAME(3, RK_PA7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d4m1 */
RK_MUXROUTE_SAME(2, RK_PA3, 1, 0x184, BIT(16 + 7)), /* cif-d5m0 */
RK_MUXROUTE_SAME(3, RK_PB0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d5m1 */
RK_MUXROUTE_SAME(2, RK_PA4, 1, 0x184, BIT(16 + 7)), /* cif-d6m0 */
RK_MUXROUTE_SAME(3, RK_PB1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d6m1 */
RK_MUXROUTE_SAME(2, RK_PA5, 1, 0x184, BIT(16 + 7)), /* cif-d7m0 */
RK_MUXROUTE_SAME(3, RK_PB4, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d7m1 */
RK_MUXROUTE_SAME(2, RK_PA6, 1, 0x184, BIT(16 + 7)), /* cif-d8m0 */
RK_MUXROUTE_SAME(3, RK_PB6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d8m1 */
RK_MUXROUTE_SAME(2, RK_PA7, 1, 0x184, BIT(16 + 7)), /* cif-d9m0 */
RK_MUXROUTE_SAME(3, RK_PB7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d9m1 */
RK_MUXROUTE_SAME(2, RK_PB7, 1, 0x184, BIT(16 + 7)), /* cif-d10m0 */
RK_MUXROUTE_SAME(3, RK_PC6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d10m1 */
RK_MUXROUTE_SAME(2, RK_PC0, 1, 0x184, BIT(16 + 7)), /* cif-d11m0 */
RK_MUXROUTE_SAME(3, RK_PC7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d11m1 */
RK_MUXROUTE_SAME(2, RK_PB0, 1, 0x184, BIT(16 + 7)), /* cif-vsyncm0 */
RK_MUXROUTE_SAME(3, RK_PD1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-vsyncm1 */
RK_MUXROUTE_SAME(2, RK_PB1, 1, 0x184, BIT(16 + 7)), /* cif-hrefm0 */
RK_MUXROUTE_SAME(3, RK_PD2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-hrefm1 */
RK_MUXROUTE_SAME(2, RK_PB2, 1, 0x184, BIT(16 + 7)), /* cif-clkinm0 */
RK_MUXROUTE_SAME(3, RK_PD3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkinm1 */
RK_MUXROUTE_SAME(2, RK_PB3, 1, 0x184, BIT(16 + 7)), /* cif-clkoutm0 */
RK_MUXROUTE_SAME(3, RK_PD0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkoutm1 */
RK_MUXROUTE_SAME(3, RK_PC6, 2, 0x184, BIT(16 + 8)), /* pdm-m0 */ RK_MUXROUTE_SAME(3, RK_PC6, 2, 0x184, BIT(16 + 8)), /* pdm-m0 */
RK_MUXROUTE_SAME(2, RK_PC6, 1, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-m1 */ RK_MUXROUTE_SAME(2, RK_PC6, 1, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-m1 */
RK_MUXROUTE_SAME(3, RK_PD3, 2, 0x184, BIT(16 + 8)), /* pdm-sdi0m0 */
RK_MUXROUTE_SAME(2, RK_PC5, 2, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-sdi0m1 */
RK_MUXROUTE_SAME(1, RK_PD3, 2, 0x184, BIT(16 + 10)), /* uart2-rxm0 */ RK_MUXROUTE_SAME(1, RK_PD3, 2, 0x184, BIT(16 + 10)), /* uart2-rxm0 */
RK_MUXROUTE_SAME(2, RK_PB6, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-rxm1 */ RK_MUXROUTE_SAME(2, RK_PB6, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-rxm1 */
RK_MUXROUTE_SAME(1, RK_PD2, 2, 0x184, BIT(16 + 10)), /* uart2-txm0 */
RK_MUXROUTE_SAME(2, RK_PB4, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-txm1 */
RK_MUXROUTE_SAME(0, RK_PC1, 2, 0x184, BIT(16 + 9)), /* uart3-rxm0 */ RK_MUXROUTE_SAME(0, RK_PC1, 2, 0x184, BIT(16 + 9)), /* uart3-rxm0 */
RK_MUXROUTE_SAME(1, RK_PB7, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rxm1 */ RK_MUXROUTE_SAME(1, RK_PB7, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rxm1 */
RK_MUXROUTE_SAME(0, RK_PC0, 2, 0x184, BIT(16 + 9)), /* uart3-txm0 */
RK_MUXROUTE_SAME(1, RK_PB6, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-txm1 */
RK_MUXROUTE_SAME(0, RK_PC2, 2, 0x184, BIT(16 + 9)), /* uart3-ctsm0 */
RK_MUXROUTE_SAME(1, RK_PB4, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-ctsm1 */
RK_MUXROUTE_SAME(0, RK_PC3, 2, 0x184, BIT(16 + 9)), /* uart3-rtsm0 */
RK_MUXROUTE_SAME(1, RK_PB5, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rtsm1 */
}; };
static struct rockchip_mux_route_data rv1126_mux_route_data[] = { static struct rockchip_mux_route_data rv1126_mux_route_data[] = {
......
...@@ -1873,8 +1873,8 @@ static const struct msm_pingroup sc8280xp_groups[] = { ...@@ -1873,8 +1873,8 @@ static const struct msm_pingroup sc8280xp_groups[] = {
[225] = PINGROUP(225, hs3_mi2s, phase_flag, _, _, _, _, egpio), [225] = PINGROUP(225, hs3_mi2s, phase_flag, _, _, _, _, egpio),
[226] = PINGROUP(226, hs3_mi2s, phase_flag, _, _, _, _, egpio), [226] = PINGROUP(226, hs3_mi2s, phase_flag, _, _, _, _, egpio),
[227] = PINGROUP(227, hs3_mi2s, phase_flag, _, _, _, _, egpio), [227] = PINGROUP(227, hs3_mi2s, phase_flag, _, _, _, _, egpio),
[228] = UFS_RESET(ufs_reset, 0xf1004), [228] = UFS_RESET(ufs_reset, 0xf1000),
[229] = UFS_RESET(ufs1_reset, 0xf3004), [229] = UFS_RESET(ufs1_reset, 0xf3000),
[230] = SDC_QDSD_PINGROUP(sdc2_clk, 0xe8000, 14, 6), [230] = SDC_QDSD_PINGROUP(sdc2_clk, 0xe8000, 14, 6),
[231] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xe8000, 11, 3), [231] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xe8000, 11, 3),
[232] = SDC_QDSD_PINGROUP(sdc2_data, 0xe8000, 9, 0), [232] = SDC_QDSD_PINGROUP(sdc2_data, 0xe8000, 9, 0),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment