Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _MC6821_H_
|
|
#define _MC6821_H_
|
|
|
|
/*
|
|
* This file describes the memery mapping of the MC6821 PIA.
|
|
* The unions describe overlayed registers. Which of them is used is
|
|
* determined by bit 2 of the corresponding control register.
|
|
* this files expects the PIA_REG_PADWIDTH to be defined the numeric
|
|
* value of the register spacing.
|
|
*
|
|
* Data came from MFC-31-Developer Kit (from Ralph Seidel,
|
|
* zodiac@darkness.gun.de) and Motorola Data Sheet (from
|
|
* Richard Hirst, srh@gpt.co.uk)
|
|
*
|
|
* 6.11.95 copyright Joerg Dorchain (dorchain@mpi-sb.mpg.de)
|
|
*
|
|
*/
|
|
|
|
#ifndef PIA_REG_PADWIDTH
|
|
#define PIA_REG_PADWIDTH 255
|
|
#endif
|
|
|
|
struct pia {
|
|
union {
|
|
volatile u_char pra;
|
|
volatile u_char ddra;
|
|
} ua;
|
|
u_char pad1[PIA_REG_PADWIDTH];
|
|
volatile u_char cra;
|
|
u_char pad2[PIA_REG_PADWIDTH];
|
|
union {
|
|
volatile u_char prb;
|
|
volatile u_char ddrb;
|
|
} ub;
|
|
u_char pad3[PIA_REG_PADWIDTH];
|
|
volatile u_char crb;
|
|
u_char pad4[PIA_REG_PADWIDTH];
|
|
};
|
|
|
|
#define ppra ua.pra
|
|
#define pddra ua.ddra
|
|
#define pprb ub.prb
|
|
#define pddrb ub.ddrb
|
|
|
|
#define PIA_C1_ENABLE_IRQ (1<<0)
|
|
#define PIA_C1_LOW_TO_HIGH (1<<1)
|
|
#define PIA_DDR (1<<2)
|
|
#define PIA_IRQ2 (1<<6)
|
|
#define PIA_IRQ1 (1<<7)
|
|
|
|
#endif
|