| /* |
| * Copyright (c) 2021 ITE Corporation. All Rights Reserved. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef _ITE_IT8XXX2_SOC_DT_H_ |
| #define _ITE_IT8XXX2_SOC_DT_H_ |
| |
| #define IT8XXX2_DEV_PINMUX(idx, inst) DEVICE_DT_GET(DT_PHANDLE( \ |
| DT_INST_PINCTRL_0(inst, idx), pinctrls)) |
| #define IT8XXX2_DEV_PIN(idx, inst) DT_PHA( \ |
| DT_INST_PINCTRL_0(inst, idx), pinctrls, pin) |
| #define IT8XXX2_DEV_ALT_FUNC(idx, inst) DT_PHA( \ |
| DT_INST_PINCTRL_0(inst, idx), pinctrls, alt_func) |
| |
| /** |
| * @brief Macro function to construct it8xxx2 alt item in UTIL_LISTIFY extension. |
| * |
| * @param idx index in UTIL_LISTIFY extension. |
| * @param inst instance number for compatible defined in DT_DRV_COMPAT. |
| * @return macro function to construct a it8xxx2 alt structure. |
| */ |
| #define IT8XXX2_DT_ALT_ITEMS_FUNC(idx, inst) \ |
| { \ |
| .pinctrls = IT8XXX2_DEV_PINMUX(idx, inst), \ |
| .pin = IT8XXX2_DEV_PIN(idx, inst), \ |
| .alt_fun = IT8XXX2_DEV_ALT_FUNC(idx, inst), \ |
| }, |
| |
| /** |
| * @brief Macro function to construct a list of it8xxx2 alt items with |
| * compatible defined in DT_DRV_COMPAT by UTIL_LISTIFY func |
| * |
| * @param inst instance number for compatible defined in DT_DRV_COMPAT. |
| * @return an array of it8xxx2 alt items. |
| */ |
| #define IT8XXX2_DT_ALT_ITEMS_LIST(inst) { \ |
| UTIL_LISTIFY(DT_INST_NUM_PINCTRLS_BY_IDX(inst, 0), \ |
| IT8XXX2_DT_ALT_ITEMS_FUNC, \ |
| inst) \ |
| } |
| |
| #endif /* _ITE_IT8XXX2_SOC_DT_H_ */ |