Skip to content

Commit e3b57c3

Browse files
RuibinChangnashif
authored andcommitted
ITE drivers/pinctrl/it8xxx2: add default mode function
Add default mode function for pin control. Signed-off-by: Ruibin Chang <[email protected]>
1 parent 1440b19 commit e3b57c3

File tree

2 files changed

+93
-2
lines changed

2 files changed

+93
-2
lines changed

drivers/pinctrl/pinctrl_ite_it8xxx2.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,19 @@ static int pinctrl_kscan_it8xxx2_configure_pins(const pinctrl_soc_pin_t *pins)
249249
return -EINVAL;
250250
}
251251

252-
/* Set a pin of KSI[7:0]/KSO[15:0] to kbs mode */
253-
*reg_gctrl &= ~pin_mask;
252+
switch (pins->alt_func) {
253+
case IT8XXX2_ALT_FUNC_1:
254+
/* Set a pin of KSI[7:0]/KSO[15:0] to kbs mode */
255+
*reg_gctrl &= ~pin_mask;
256+
break;
257+
case IT8XXX2_ALT_DEFAULT:
258+
/* Set a pin of KSI[7:0]/KSO[15:0] to gpio mode */
259+
*reg_gctrl |= pin_mask;
260+
break;
261+
default:
262+
LOG_ERR("Alternate function not supported");
263+
return -ENOTSUP;
264+
}
254265

255266
return 0;
256267
}

dts/riscv/ite/it8xxx2-pinctrl-map.dtsi

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,86 @@
211211
bias-pull-up;
212212
};
213213

214+
/* Keyboard sleep function */
215+
ksi0_sleep: ksi0_sleep {
216+
pinmuxs = <&pinctrlksi 0 IT8XXX2_ALT_DEFAULT>;
217+
};
218+
ksi1_sleep: ksi1_sleep {
219+
pinmuxs = <&pinctrlksi 1 IT8XXX2_ALT_DEFAULT>;
220+
};
221+
ksi2_sleep: ksi2_sleep {
222+
pinmuxs = <&pinctrlksi 2 IT8XXX2_ALT_DEFAULT>;
223+
};
224+
ksi3_sleep: ksi3_sleep {
225+
pinmuxs = <&pinctrlksi 3 IT8XXX2_ALT_DEFAULT>;
226+
};
227+
ksi4_sleep: ksi4_sleep {
228+
pinmuxs = <&pinctrlksi 4 IT8XXX2_ALT_DEFAULT>;
229+
};
230+
ksi5_sleep: ksi5_sleep {
231+
pinmuxs = <&pinctrlksi 5 IT8XXX2_ALT_DEFAULT>;
232+
};
233+
ksi6_sleep: ksi6_sleep {
234+
pinmuxs = <&pinctrlksi 6 IT8XXX2_ALT_DEFAULT>;
235+
};
236+
ksi7_sleep: ksi7_sleep {
237+
pinmuxs = <&pinctrlksi 7 IT8XXX2_ALT_DEFAULT>;
238+
};
239+
kso0_sleep: kso0_sleep {
240+
pinmuxs = <&pinctrlksol 0 IT8XXX2_ALT_DEFAULT>;
241+
};
242+
kso1_sleep: kso1_sleep {
243+
pinmuxs = <&pinctrlksol 1 IT8XXX2_ALT_DEFAULT>;
244+
};
245+
kso2_sleep: kso2_sleep {
246+
pinmuxs = <&pinctrlksol 2 IT8XXX2_ALT_DEFAULT>;
247+
};
248+
kso3_sleep: kso3_sleep {
249+
pinmuxs = <&pinctrlksol 3 IT8XXX2_ALT_DEFAULT>;
250+
};
251+
kso4_sleep: kso4_sleep {
252+
pinmuxs = <&pinctrlksol 4 IT8XXX2_ALT_DEFAULT>;
253+
};
254+
kso5_sleep: kso5_sleep {
255+
pinmuxs = <&pinctrlksol 5 IT8XXX2_ALT_DEFAULT>;
256+
};
257+
kso6_sleep: kso6_sleep {
258+
pinmuxs = <&pinctrlksol 6 IT8XXX2_ALT_DEFAULT>;
259+
};
260+
kso7_sleep: kso7_sleep {
261+
pinmuxs = <&pinctrlksol 7 IT8XXX2_ALT_DEFAULT>;
262+
};
263+
kso8_sleep: kso8_sleep {
264+
pinmuxs = <&pinctrlksoh 0 IT8XXX2_ALT_DEFAULT>;
265+
};
266+
kso9_sleep: kso9_sleep {
267+
pinmuxs = <&pinctrlksoh 1 IT8XXX2_ALT_DEFAULT>;
268+
};
269+
kso10_sleep: kso10_sleep {
270+
pinmuxs = <&pinctrlksoh 2 IT8XXX2_ALT_DEFAULT>;
271+
};
272+
kso11_sleep: kso11_sleep {
273+
pinmuxs = <&pinctrlksoh 3 IT8XXX2_ALT_DEFAULT>;
274+
};
275+
kso12_sleep: kso12_sleep {
276+
pinmuxs = <&pinctrlksoh 4 IT8XXX2_ALT_DEFAULT>;
277+
};
278+
kso13_sleep: kso13_sleep {
279+
pinmuxs = <&pinctrlksoh 5 IT8XXX2_ALT_DEFAULT>;
280+
};
281+
kso14_sleep: kso14_sleep {
282+
pinmuxs = <&pinctrlksoh 6 IT8XXX2_ALT_DEFAULT>;
283+
};
284+
kso15_sleep: kso15_sleep {
285+
pinmuxs = <&pinctrlksoh 7 IT8XXX2_ALT_DEFAULT>;
286+
};
287+
kso16_gpc3_sleep: kso16_gpc3_sleep {
288+
pinmuxs = <&pinctrlc 3 IT8XXX2_ALT_DEFAULT>;
289+
};
290+
kso17_gpc5_sleep: kso17_gpc5_sleep {
291+
pinmuxs = <&pinctrlc 5 IT8XXX2_ALT_DEFAULT>;
292+
};
293+
214294
/* PECI alternate function */
215295
peci_gpf6_default: peci_gpf6_default {
216296
pinmuxs = <&pinctrlf 6 IT8XXX2_ALT_FUNC_3>;

0 commit comments

Comments
 (0)