^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) #ifndef _ASM_POWERPC_OHARE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _ASM_POWERPC_OHARE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #ifdef __KERNEL__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * ohare.h: definitions for using the "O'Hare" I/O controller chip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Copyright (C) 1997 Paul Mackerras.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * BenH: Changed to match those of heathrow (but not all of them). Please
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * check if I didn't break anything (especially the media bay).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) /* offset from ohare base for feature control register */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define OHARE_MBCR 0x34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define OHARE_FCR 0x38
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * Bits in feature control register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * These were mostly derived by experiment on a powerbook 3400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * and may differ for other machines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define OH_SCC_RESET 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define OH_BAY_POWER_N 2 /* a guess */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define OH_BAY_PCI_ENABLE 4 /* a guess */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define OH_BAY_IDE_ENABLE 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define OH_BAY_FLOPPY_ENABLE 0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define OH_IDE0_ENABLE 0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #define OH_IDE0_RESET_N 0x40 /* a guess */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #define OH_BAY_DEV_MASK 0x1c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define OH_BAY_RESET_N 0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) #define OH_IOBUS_ENABLE 0x100 /* IOBUS seems to be IDE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #define OH_SCC_ENABLE 0x200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define OH_MESH_ENABLE 0x400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #define OH_FLOPPY_ENABLE 0x800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #define OH_SCCA_IO 0x4000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define OH_SCCB_IO 0x8000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define OH_VIA_ENABLE 0x10000 /* Is apparently wrong, to be verified */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #define OH_IDE1_RESET_N 0x800000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) * Bits to set in the feature control register on PowerBooks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define PBOOK_FEATURES (OH_IDE_ENABLE | OH_SCC_ENABLE | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) OH_MESH_ENABLE | OH_SCCA_IO | OH_SCCB_IO)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) * A magic value to put into the feature control register of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * "ohare" I/O controller on Starmaxes to enable the IDE CD interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) * Contributed by Harry Eaton.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define STARMAX_FEATURES 0xbeff7a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #endif /* __KERNEL__ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #endif /* _ASM_POWERPC_OHARE_H */