18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/arm/include/asm/hardware/ioc.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) Russell King 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Use these macros to read/write the IOC. All it does is perform the actual 88c2ecf20Sopenharmony_ci * read/write. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci#ifndef __ASMARM_HARDWARE_IOC_H 118c2ecf20Sopenharmony_ci#define __ASMARM_HARDWARE_IOC_H 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/* 168c2ecf20Sopenharmony_ci * We use __raw_base variants here so that we give the compiler the 178c2ecf20Sopenharmony_ci * chance to keep IOC_BASE in a register. 188c2ecf20Sopenharmony_ci */ 198c2ecf20Sopenharmony_ci#define ioc_readb(off) __raw_readb(IOC_BASE + (off)) 208c2ecf20Sopenharmony_ci#define ioc_writeb(val,off) __raw_writeb(val, IOC_BASE + (off)) 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci#endif 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#define IOC_CONTROL (0x00) 258c2ecf20Sopenharmony_ci#define IOC_KARTTX (0x04) 268c2ecf20Sopenharmony_ci#define IOC_KARTRX (0x04) 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#define IOC_IRQSTATA (0x10) 298c2ecf20Sopenharmony_ci#define IOC_IRQREQA (0x14) 308c2ecf20Sopenharmony_ci#define IOC_IRQCLRA (0x14) 318c2ecf20Sopenharmony_ci#define IOC_IRQMASKA (0x18) 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci#define IOC_IRQSTATB (0x20) 348c2ecf20Sopenharmony_ci#define IOC_IRQREQB (0x24) 358c2ecf20Sopenharmony_ci#define IOC_IRQMASKB (0x28) 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci#define IOC_FIQSTAT (0x30) 388c2ecf20Sopenharmony_ci#define IOC_FIQREQ (0x34) 398c2ecf20Sopenharmony_ci#define IOC_FIQMASK (0x38) 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#define IOC_T0CNTL (0x40) 428c2ecf20Sopenharmony_ci#define IOC_T0LTCHL (0x40) 438c2ecf20Sopenharmony_ci#define IOC_T0CNTH (0x44) 448c2ecf20Sopenharmony_ci#define IOC_T0LTCHH (0x44) 458c2ecf20Sopenharmony_ci#define IOC_T0GO (0x48) 468c2ecf20Sopenharmony_ci#define IOC_T0LATCH (0x4c) 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#define IOC_T1CNTL (0x50) 498c2ecf20Sopenharmony_ci#define IOC_T1LTCHL (0x50) 508c2ecf20Sopenharmony_ci#define IOC_T1CNTH (0x54) 518c2ecf20Sopenharmony_ci#define IOC_T1LTCHH (0x54) 528c2ecf20Sopenharmony_ci#define IOC_T1GO (0x58) 538c2ecf20Sopenharmony_ci#define IOC_T1LATCH (0x5c) 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci#define IOC_T2CNTL (0x60) 568c2ecf20Sopenharmony_ci#define IOC_T2LTCHL (0x60) 578c2ecf20Sopenharmony_ci#define IOC_T2CNTH (0x64) 588c2ecf20Sopenharmony_ci#define IOC_T2LTCHH (0x64) 598c2ecf20Sopenharmony_ci#define IOC_T2GO (0x68) 608c2ecf20Sopenharmony_ci#define IOC_T2LATCH (0x6c) 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci#define IOC_T3CNTL (0x70) 638c2ecf20Sopenharmony_ci#define IOC_T3LTCHL (0x70) 648c2ecf20Sopenharmony_ci#define IOC_T3CNTH (0x74) 658c2ecf20Sopenharmony_ci#define IOC_T3LTCHH (0x74) 668c2ecf20Sopenharmony_ci#define IOC_T3GO (0x78) 678c2ecf20Sopenharmony_ci#define IOC_T3LATCH (0x7c) 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci#endif 70