cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bvme6000hw.h (3529B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _M68K_BVME6000HW_H_
      3#define _M68K_BVME6000HW_H_
      4
      5#include <asm/irq.h>
      6
      7/*
      8 * PIT structure
      9 */
     10
     11#define BVME_PIT_BASE	0xffa00000
     12
     13typedef struct {
     14	unsigned char
     15	pad_a[3], pgcr,
     16	pad_b[3], psrr,
     17	pad_c[3], paddr,
     18	pad_d[3], pbddr,
     19	pad_e[3], pcddr,
     20	pad_f[3], pivr,
     21	pad_g[3], pacr,
     22	pad_h[3], pbcr,
     23	pad_i[3], padr,
     24	pad_j[3], pbdr,
     25	pad_k[3], paar,
     26	pad_l[3], pbar,
     27	pad_m[3], pcdr,
     28	pad_n[3], psr,
     29	pad_o[3], res1,
     30	pad_p[3], res2,
     31	pad_q[3], tcr,
     32	pad_r[3], tivr,
     33	pad_s[3], res3,
     34	pad_t[3], cprh,
     35	pad_u[3], cprm,
     36	pad_v[3], cprl,
     37	pad_w[3], res4,
     38	pad_x[3], crh,
     39	pad_y[3], crm,
     40	pad_z[3], crl,
     41	pad_A[3], tsr,
     42	pad_B[3], res5;
     43} PitRegs_t, *PitRegsPtr;
     44
     45#define bvmepit   ((*(volatile PitRegsPtr)(BVME_PIT_BASE)))
     46
     47#define BVME_RTC_BASE	0xff900000
     48
     49typedef struct {
     50	unsigned char
     51	pad_a[3], msr,
     52	pad_b[3], t0cr_rtmr,
     53	pad_c[3], t1cr_omr,
     54	pad_d[3], pfr_icr0,
     55	pad_e[3], irr_icr1,
     56	pad_f[3], bcd_tenms,
     57	pad_g[3], bcd_sec,
     58	pad_h[3], bcd_min,
     59	pad_i[3], bcd_hr,
     60	pad_j[3], bcd_dom,
     61	pad_k[3], bcd_mth,
     62	pad_l[3], bcd_year,
     63	pad_m[3], bcd_ujcc,
     64	pad_n[3], bcd_hjcc,
     65	pad_o[3], bcd_dow,
     66	pad_p[3], t0lsb,
     67	pad_q[3], t0msb,
     68	pad_r[3], t1lsb,
     69	pad_s[3], t1msb,
     70	pad_t[3], cmp_sec,
     71	pad_u[3], cmp_min,
     72	pad_v[3], cmp_hr,
     73	pad_w[3], cmp_dom,
     74	pad_x[3], cmp_mth,
     75	pad_y[3], cmp_dow,
     76	pad_z[3], sav_sec,
     77	pad_A[3], sav_min,
     78	pad_B[3], sav_hr,
     79	pad_C[3], sav_dom,
     80	pad_D[3], sav_mth,
     81	pad_E[3], ram,
     82	pad_F[3], test;
     83} RtcRegs_t, *RtcPtr_t;
     84
     85
     86#define BVME_I596_BASE	0xff100000
     87
     88#define BVME_ETHIRQ_REG	0xff20000b
     89
     90#define BVME_LOCAL_IRQ_STAT  0xff20000f
     91
     92#define BVME_ETHERR          0x02
     93#define BVME_ABORT_STATUS    0x08
     94
     95#define BVME_NCR53C710_BASE	0xff000000
     96
     97#define BVME_SCC_A_ADDR	0xffb0000b
     98#define BVME_SCC_B_ADDR	0xffb00003
     99#define BVME_SCC_RTxC	7372800
    100
    101#define BVME_CONFIG_REG	0xff500003
    102
    103#define config_reg_ptr	(volatile unsigned char *)BVME_CONFIG_REG
    104
    105#define BVME_CONFIG_SW1	0x08
    106#define BVME_CONFIG_SW2	0x04
    107#define BVME_CONFIG_SW3	0x02
    108#define BVME_CONFIG_SW4	0x01
    109
    110
    111#define BVME_IRQ_TYPE_PRIO	0
    112
    113#define BVME_IRQ_PRN		(IRQ_USER+20)
    114#define BVME_IRQ_TIMER		(IRQ_USER+25)
    115#define BVME_IRQ_I596		IRQ_AUTO_2
    116#define BVME_IRQ_SCSI		IRQ_AUTO_3
    117#define BVME_IRQ_RTC		IRQ_AUTO_6
    118#define BVME_IRQ_ABORT		IRQ_AUTO_7
    119
    120/* SCC interrupts */
    121#define BVME_IRQ_SCC_BASE		IRQ_USER
    122#define BVME_IRQ_SCCB_TX		IRQ_USER
    123#define BVME_IRQ_SCCB_STAT		(IRQ_USER+2)
    124#define BVME_IRQ_SCCB_RX		(IRQ_USER+4)
    125#define BVME_IRQ_SCCB_SPCOND		(IRQ_USER+6)
    126#define BVME_IRQ_SCCA_TX		(IRQ_USER+8)
    127#define BVME_IRQ_SCCA_STAT		(IRQ_USER+10)
    128#define BVME_IRQ_SCCA_RX		(IRQ_USER+12)
    129#define BVME_IRQ_SCCA_SPCOND		(IRQ_USER+14)
    130
    131/* Address control registers */
    132
    133#define BVME_ACR_A32VBA		0xff400003
    134#define BVME_ACR_A32MSK		0xff410003
    135#define BVME_ACR_A24VBA		0xff420003
    136#define BVME_ACR_A24MSK		0xff430003
    137#define BVME_ACR_A16VBA		0xff440003
    138#define BVME_ACR_A32LBA		0xff450003
    139#define BVME_ACR_A24LBA		0xff460003
    140#define BVME_ACR_ADDRCTL	0xff470003
    141
    142#define bvme_acr_a32vba		*(volatile unsigned char *)BVME_ACR_A32VBA
    143#define bvme_acr_a32msk		*(volatile unsigned char *)BVME_ACR_A32MSK
    144#define bvme_acr_a24vba		*(volatile unsigned char *)BVME_ACR_A24VBA
    145#define bvme_acr_a24msk		*(volatile unsigned char *)BVME_ACR_A24MSK
    146#define bvme_acr_a16vba		*(volatile unsigned char *)BVME_ACR_A16VBA
    147#define bvme_acr_a32lba		*(volatile unsigned char *)BVME_ACR_A32LBA
    148#define bvme_acr_a24lba		*(volatile unsigned char *)BVME_ACR_A24LBA
    149#define bvme_acr_addrctl	*(volatile unsigned char *)BVME_ACR_ADDRCTL
    150
    151#endif