/** * struct gpio_irq_type: gpio irq configuration * @trig_type: level trigger or edge trigger * @edge_type: sigle edge or both edge * @logic_type: positive trigger or negative trigger
*/ struct gpio_irq_type { unsignedint trig_type; unsignedint edge_type; unsignedint logic_type;
};
/** * struct eqbr_pin_bank: represent a pin bank. * @membase: base address of the pin bank register. * @id: bank id, to idenify the unique bank. * @pin_base: starting pin number of the pin bank. * @nr_pins: number of the pins of the pin bank. * @aval_pinmap: available pin bitmap of the pin bank.
*/ struct eqbr_pin_bank { void __iomem *membase; unsignedint id; unsignedint pin_base; unsignedint nr_pins;
u32 aval_pinmap;
};
struct fwnode_handle;
/** * struct eqbr_gpio_ctrl: represent a gpio controller. * @chip: gpio chip. * @fwnode: firmware node of gpio controller. * @bank: pointer to corresponding pin bank. * @membase: base address of the gpio controller. * @name: gpio chip name. * @virq: irq number of the gpio chip to parent's irq domain. * @lock: spin lock to protect gpio register write.
*/ struct eqbr_gpio_ctrl { struct gpio_chip chip; struct fwnode_handle *fwnode; struct eqbr_pin_bank *bank; void __iomem *membase; constchar *name; unsignedint virq;
raw_spinlock_t lock; /* protect gpio register */
};
/** * struct eqbr_pinctrl_drv_data: * @dev: device instance representing the controller. * @pctl_desc: pin controller descriptor. * @pctl_dev: pin control class device * @membase: base address of pin controller * @pin_banks: list of pin banks of the driver. * @nr_banks: number of pin banks. * @gpio_ctrls: list of gpio controllers. * @nr_gpio_ctrls: number of gpio controllers. * @lock: protect pinctrl register write
*/ struct eqbr_pinctrl_drv_data { struct device *dev; struct pinctrl_desc pctl_desc; struct pinctrl_dev *pctl_dev; void __iomem *membase; struct eqbr_pin_bank *pin_banks; unsignedint nr_banks; struct eqbr_gpio_ctrl *gpio_ctrls; unsignedint nr_gpio_ctrls;
raw_spinlock_t lock; /* protect pinpad register */
};
#endif/* __PINCTRL_EQUILIBRIUM_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.