11e3dc1d8STomas Winkler /* SPDX-License-Identifier: GPL-2.0 */ 21e3dc1d8STomas Winkler /* 31e3dc1d8STomas Winkler * Copyright (c) 2022, Intel Corporation. All rights reserved. 41e3dc1d8STomas Winkler */ 51e3dc1d8STomas Winkler #ifndef _LINUX_MEI_AUX_H 61e3dc1d8STomas Winkler #define _LINUX_MEI_AUX_H 71e3dc1d8STomas Winkler 81e3dc1d8STomas Winkler #include <linux/auxiliary_bus.h> 91e3dc1d8STomas Winkler 10fd72cb1bSTomas Winkler /** 11fd72cb1bSTomas Winkler * struct mei_aux_device - mei auxiliary device 12fd72cb1bSTomas Winkler * @aux_dev: - auxiliary device object 13fd72cb1bSTomas Winkler * @irq: interrupt driving the mei auxiliary device 14fd72cb1bSTomas Winkler * @bar: mmio resource bar reserved to mei auxiliary device 15*342e4c7eSTomas Winkler * @ext_op_mem: resource for extend operational memory 16*342e4c7eSTomas Winkler * used in graphics PXP mode. 17ed57967aSTomas Winkler * @slow_firmware: The device has slow underlying firmware. 18ed57967aSTomas Winkler * Such firmware will require to use larger operation timeouts. 19fd72cb1bSTomas Winkler */ 201e3dc1d8STomas Winkler struct mei_aux_device { 211e3dc1d8STomas Winkler struct auxiliary_device aux_dev; 221e3dc1d8STomas Winkler int irq; 231e3dc1d8STomas Winkler struct resource bar; 24*342e4c7eSTomas Winkler struct resource ext_op_mem; 25ed57967aSTomas Winkler bool slow_firmware; 261e3dc1d8STomas Winkler }; 271e3dc1d8STomas Winkler 281e3dc1d8STomas Winkler #define auxiliary_dev_to_mei_aux_dev(auxiliary_dev) \ 291e3dc1d8STomas Winkler container_of(auxiliary_dev, struct mei_aux_device, aux_dev) 301e3dc1d8STomas Winkler 311e3dc1d8STomas Winkler #endif /* _LINUX_MEI_AUX_H */ 32