From 3670977158ae390692a3e94c6ef80f1bd0a2bb9e Mon Sep 17 00:00:00 2001 From: Tim Lin Date: Sat, 26 Mar 2022 14:48:51 +0800 Subject: [PATCH] ITE: drivers/peci: Use pinctrl instead of pinmux driver Use pinctrl instead of pinmux driver. Signed-off-by: Tim Lin --- boards/riscv/it8xxx2_evb/it8xxx2_evb.dts | 5 +++++ drivers/peci/peci_ite_it8xxx2.c | 28 +++++++++--------------- dts/bindings/peci/ite,it8xxx2-peci.yaml | 11 +++++----- dts/riscv/it8xxx2-alts-map.dtsi | 5 ----- dts/riscv/it8xxx2.dtsi | 2 +- dts/riscv/ite/it8xxx2-pinctrl-map.dtsi | 5 +++++ 6 files changed, 27 insertions(+), 29 deletions(-) diff --git a/boards/riscv/it8xxx2_evb/it8xxx2_evb.dts b/boards/riscv/it8xxx2_evb/it8xxx2_evb.dts index 8678bbe33f7..4f6501fa22b 100644 --- a/boards/riscv/it8xxx2_evb/it8xxx2_evb.dts +++ b/boards/riscv/it8xxx2_evb/it8xxx2_evb.dts @@ -153,6 +153,11 @@ &kscan0 { status = "okay"; }; +&peci0 { + status = "okay"; + pinctrl-0 = <&peci_gpf6_default>; + pinctrl-names = "default"; +}; &flash0 { partitions { compatible = "fixed-partitions"; diff --git a/drivers/peci/peci_ite_it8xxx2.c b/drivers/peci/peci_ite_it8xxx2.c index 2d5ac5a3b30..e017b64b09f 100644 --- a/drivers/peci/peci_ite_it8xxx2.c +++ b/drivers/peci/peci_ite_it8xxx2.c @@ -7,7 +7,7 @@ #define DT_DRV_COMPAT ite_peci_it8xxx2 #include -#include +#include #include #include #include @@ -90,19 +90,10 @@ enum peci_vtts { HOVTTS1P25V = 0x10, }; -/* The following definitions are inclusive of the config/data - * and related properties of the PECI device. - */ -struct peci_alts_cfg { - const struct device *pinctrls; - uint8_t pin; - uint8_t alt_fun; -}; - struct peci_it8xxx2_config { uintptr_t base_addr; uint8_t irq_no; - const struct peci_alts_cfg *alts_list; + const struct pinctrl_dev_config *pcfg; }; struct peci_it8xxx2_data { @@ -111,14 +102,12 @@ struct peci_it8xxx2_data { uint32_t bitrate; }; -static const struct peci_alts_cfg - peci_alt_inst[DT_INST_NUM_PINCTRLS_BY_IDX(0, 0)] = - IT8XXX2_DT_ALT_ITEMS_LIST(0); +PINCTRL_DT_INST_DEFINE(0); static const struct peci_it8xxx2_config peci_it8xxx2_config0 = { .base_addr = DT_INST_REG_ADDR(0), .irq_no = DT_INST_IRQN(0), - .alts_list = peci_alt_inst, + .pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0), }; static struct peci_it8xxx2_data peci_it8xxx2_data0; @@ -323,14 +312,17 @@ static int peci_it8xxx2_init(const struct device *dev) const struct peci_it8xxx2_config *config = dev->config; struct peci_it8xxx2_regs *const peci_regs = (struct peci_it8xxx2_regs *)config->base_addr; + int status; /* Initialize Semaphore */ k_sem_init(&data->device_sync_sem, 0, 1); /* Configure the GPF6 to Alternative Function 3: PECI */ - pinmux_pin_set(config->alts_list[PECI0].pinctrls, - config->alts_list[PECI0].pin, - config->alts_list[PECI0].alt_fun); + status = pinctrl_apply_state(config->pcfg, PINCTRL_STATE_DEFAULT); + if (status < 0) { + LOG_ERR("Failed to configure PECI pins"); + return status; + } peci_regs->PADCTLR |= PECI_DVIE; peci_it8xxx2_init_vtts(peci_regs, HOVTTS0P95V); diff --git a/dts/bindings/peci/ite,it8xxx2-peci.yaml b/dts/bindings/peci/ite,it8xxx2-peci.yaml index 23085908c82..b54a402ca2e 100644 --- a/dts/bindings/peci/ite,it8xxx2-peci.yaml +++ b/dts/bindings/peci/ite,it8xxx2-peci.yaml @@ -5,10 +5,11 @@ description: ITE it8xxx2 PECI compatible: "ite,peci-it8xxx2" -include: peci.yaml +include: [peci.yaml, pinctrl-device.yaml] properties: - pinctrl-0: - type: phandles - required: true - description: Configuration of the PECI pin which is mapped to the GPIO + pinctrl-0: + required: true + + pinctrl-names: + required: true diff --git a/dts/riscv/it8xxx2-alts-map.dtsi b/dts/riscv/it8xxx2-alts-map.dtsi index 87205a6edc4..aa73cdc211e 100644 --- a/dts/riscv/it8xxx2-alts-map.dtsi +++ b/dts/riscv/it8xxx2-alts-map.dtsi @@ -24,11 +24,6 @@ pinctrls = <&pinmuxm 5 IT8XXX2_PINMUX_FUNC_1>; }; - /* PECI alternate function */ - pinctrl_peci: peci { - pinctrls = <&pinmuxf 6 IT8XXX2_PINMUX_FUNC_3>; - }; - /* Keyboard alternate function */ pinctrl_kso16: kso16 { pinctrls = <&pinmuxc 3 IT8XXX2_PINMUX_FUNC_1>; diff --git a/dts/riscv/it8xxx2.dtsi b/dts/riscv/it8xxx2.dtsi index 03514827106..7ac9a00f228 100644 --- a/dts/riscv/it8xxx2.dtsi +++ b/dts/riscv/it8xxx2.dtsi @@ -1398,7 +1398,7 @@ #size-cells = <0>; interrupt-parent = <&intc>; interrupts = <160 IRQ_TYPE_LEVEL_HIGH>; - pinctrl-0 = <&pinctrl_peci>; + status = "disabled"; }; kscan0: kscan@f01d00 { diff --git a/dts/riscv/ite/it8xxx2-pinctrl-map.dtsi b/dts/riscv/ite/it8xxx2-pinctrl-map.dtsi index 68460919590..6f6429e3dd5 100644 --- a/dts/riscv/ite/it8xxx2-pinctrl-map.dtsi +++ b/dts/riscv/ite/it8xxx2-pinctrl-map.dtsi @@ -89,6 +89,11 @@ pinmuxs = <&pinctrla 5 IT8XXX2_ALT_FUNC_3>; }; + /* PECI alternate function */ + peci_gpf6_default: peci_gpf6_default { + pinmuxs = <&pinctrlf 6 IT8XXX2_ALT_FUNC_3>; + }; + /* PWM alternate function */ pwm0_gpa0_default: pwm0_gpa0_default { pinmuxs = <&pinctrla 0 IT8XXX2_ALT_FUNC_1>;