Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * Copyright 2010 Ben Dooks <ben-linux@fluff.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Support for wakeup mask interrupts on newer SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #ifndef __PLAT_WAKEUP_MASK_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #define __PLAT_WAKEUP_MASK_H __file__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) /* if no irq yet defined, but still want to mask */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define NO_WAKEUP_IRQ (0x90000000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)  * struct samsung_wakeup_mask - wakeup mask information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)  * @irq: The interrupt associated with this wakeup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)  * @bit: The bit, as a (1 << bitno) controlling this source.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)  */ 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) struct samsung_wakeup_mask {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	unsigned int	irq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	u32		bit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)  * samsung_sync_wakemask - sync wakeup mask information for pm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)  * @reg: The register that is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)  * @masks: The list of masks to use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)  * @nr_masks: The number of entries pointed to buy @masks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)  * Synchronise the wakeup mask information at suspend time from the list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)  * of interrupts and control bits in @masks. We do this at suspend time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)  * as overriding the relevant irq chips is harder and the register is only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)  * required to be correct before we enter sleep.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) extern void samsung_sync_wakemask(void __iomem *reg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 				  const struct samsung_wakeup_mask *masks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 				  int nr_masks);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #endif /* __PLAT_WAKEUP_MASK_H */