1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 249148020SSam Ravnborg #ifndef _M68K_BVME6000HW_H_ 349148020SSam Ravnborg #define _M68K_BVME6000HW_H_ 449148020SSam Ravnborg 549148020SSam Ravnborg #include <asm/irq.h> 649148020SSam Ravnborg 749148020SSam Ravnborg /* 849148020SSam Ravnborg * PIT structure 949148020SSam Ravnborg */ 1049148020SSam Ravnborg 1149148020SSam Ravnborg #define BVME_PIT_BASE 0xffa00000 1249148020SSam Ravnborg 1349148020SSam Ravnborg typedef struct { 1449148020SSam Ravnborg unsigned char 1549148020SSam Ravnborg pad_a[3], pgcr, 1649148020SSam Ravnborg pad_b[3], psrr, 1749148020SSam Ravnborg pad_c[3], paddr, 1849148020SSam Ravnborg pad_d[3], pbddr, 1949148020SSam Ravnborg pad_e[3], pcddr, 2049148020SSam Ravnborg pad_f[3], pivr, 2149148020SSam Ravnborg pad_g[3], pacr, 2249148020SSam Ravnborg pad_h[3], pbcr, 2349148020SSam Ravnborg pad_i[3], padr, 2449148020SSam Ravnborg pad_j[3], pbdr, 2549148020SSam Ravnborg pad_k[3], paar, 2649148020SSam Ravnborg pad_l[3], pbar, 2749148020SSam Ravnborg pad_m[3], pcdr, 2849148020SSam Ravnborg pad_n[3], psr, 2949148020SSam Ravnborg pad_o[3], res1, 3049148020SSam Ravnborg pad_p[3], res2, 3149148020SSam Ravnborg pad_q[3], tcr, 3249148020SSam Ravnborg pad_r[3], tivr, 3349148020SSam Ravnborg pad_s[3], res3, 3449148020SSam Ravnborg pad_t[3], cprh, 3549148020SSam Ravnborg pad_u[3], cprm, 3649148020SSam Ravnborg pad_v[3], cprl, 3749148020SSam Ravnborg pad_w[3], res4, 3849148020SSam Ravnborg pad_x[3], crh, 3949148020SSam Ravnborg pad_y[3], crm, 4049148020SSam Ravnborg pad_z[3], crl, 4149148020SSam Ravnborg pad_A[3], tsr, 4249148020SSam Ravnborg pad_B[3], res5; 4349148020SSam Ravnborg } PitRegs_t, *PitRegsPtr; 4449148020SSam Ravnborg 4549148020SSam Ravnborg #define bvmepit ((*(volatile PitRegsPtr)(BVME_PIT_BASE))) 4649148020SSam Ravnborg 4749148020SSam Ravnborg #define BVME_RTC_BASE 0xff900000 4849148020SSam Ravnborg 4949148020SSam Ravnborg typedef struct { 5049148020SSam Ravnborg unsigned char 5149148020SSam Ravnborg pad_a[3], msr, 5249148020SSam Ravnborg pad_b[3], t0cr_rtmr, 5349148020SSam Ravnborg pad_c[3], t1cr_omr, 5449148020SSam Ravnborg pad_d[3], pfr_icr0, 5549148020SSam Ravnborg pad_e[3], irr_icr1, 5649148020SSam Ravnborg pad_f[3], bcd_tenms, 5749148020SSam Ravnborg pad_g[3], bcd_sec, 5849148020SSam Ravnborg pad_h[3], bcd_min, 5949148020SSam Ravnborg pad_i[3], bcd_hr, 6049148020SSam Ravnborg pad_j[3], bcd_dom, 6149148020SSam Ravnborg pad_k[3], bcd_mth, 6249148020SSam Ravnborg pad_l[3], bcd_year, 6349148020SSam Ravnborg pad_m[3], bcd_ujcc, 6449148020SSam Ravnborg pad_n[3], bcd_hjcc, 6549148020SSam Ravnborg pad_o[3], bcd_dow, 6649148020SSam Ravnborg pad_p[3], t0lsb, 6749148020SSam Ravnborg pad_q[3], t0msb, 6849148020SSam Ravnborg pad_r[3], t1lsb, 6949148020SSam Ravnborg pad_s[3], t1msb, 7049148020SSam Ravnborg pad_t[3], cmp_sec, 7149148020SSam Ravnborg pad_u[3], cmp_min, 7249148020SSam Ravnborg pad_v[3], cmp_hr, 7349148020SSam Ravnborg pad_w[3], cmp_dom, 7449148020SSam Ravnborg pad_x[3], cmp_mth, 7549148020SSam Ravnborg pad_y[3], cmp_dow, 7649148020SSam Ravnborg pad_z[3], sav_sec, 7749148020SSam Ravnborg pad_A[3], sav_min, 7849148020SSam Ravnborg pad_B[3], sav_hr, 7949148020SSam Ravnborg pad_C[3], sav_dom, 8049148020SSam Ravnborg pad_D[3], sav_mth, 8149148020SSam Ravnborg pad_E[3], ram, 8249148020SSam Ravnborg pad_F[3], test; 8349148020SSam Ravnborg } RtcRegs_t, *RtcPtr_t; 8449148020SSam Ravnborg 8549148020SSam Ravnborg 8649148020SSam Ravnborg #define BVME_I596_BASE 0xff100000 8749148020SSam Ravnborg 8849148020SSam Ravnborg #define BVME_ETHIRQ_REG 0xff20000b 8949148020SSam Ravnborg 9049148020SSam Ravnborg #define BVME_LOCAL_IRQ_STAT 0xff20000f 9149148020SSam Ravnborg 9249148020SSam Ravnborg #define BVME_ETHERR 0x02 9349148020SSam Ravnborg #define BVME_ABORT_STATUS 0x08 9449148020SSam Ravnborg 9549148020SSam Ravnborg #define BVME_NCR53C710_BASE 0xff000000 9649148020SSam Ravnborg 9749148020SSam Ravnborg #define BVME_SCC_A_ADDR 0xffb0000b 9849148020SSam Ravnborg #define BVME_SCC_B_ADDR 0xffb00003 9949148020SSam Ravnborg #define BVME_SCC_RTxC 7372800 10049148020SSam Ravnborg 10149148020SSam Ravnborg #define BVME_CONFIG_REG 0xff500003 10249148020SSam Ravnborg 10349148020SSam Ravnborg #define config_reg_ptr (volatile unsigned char *)BVME_CONFIG_REG 10449148020SSam Ravnborg 10549148020SSam Ravnborg #define BVME_CONFIG_SW1 0x08 10649148020SSam Ravnborg #define BVME_CONFIG_SW2 0x04 10749148020SSam Ravnborg #define BVME_CONFIG_SW3 0x02 10849148020SSam Ravnborg #define BVME_CONFIG_SW4 0x01 10949148020SSam Ravnborg 11049148020SSam Ravnborg 11149148020SSam Ravnborg #define BVME_IRQ_TYPE_PRIO 0 11249148020SSam Ravnborg 11349148020SSam Ravnborg #define BVME_IRQ_PRN (IRQ_USER+20) 11449148020SSam Ravnborg #define BVME_IRQ_TIMER (IRQ_USER+25) 11549148020SSam Ravnborg #define BVME_IRQ_I596 IRQ_AUTO_2 11649148020SSam Ravnborg #define BVME_IRQ_SCSI IRQ_AUTO_3 11749148020SSam Ravnborg #define BVME_IRQ_RTC IRQ_AUTO_6 11849148020SSam Ravnborg #define BVME_IRQ_ABORT IRQ_AUTO_7 11949148020SSam Ravnborg 12049148020SSam Ravnborg /* SCC interrupts */ 12149148020SSam Ravnborg #define BVME_IRQ_SCC_BASE IRQ_USER 12249148020SSam Ravnborg #define BVME_IRQ_SCCB_TX IRQ_USER 12349148020SSam Ravnborg #define BVME_IRQ_SCCB_STAT (IRQ_USER+2) 12449148020SSam Ravnborg #define BVME_IRQ_SCCB_RX (IRQ_USER+4) 12549148020SSam Ravnborg #define BVME_IRQ_SCCB_SPCOND (IRQ_USER+6) 12649148020SSam Ravnborg #define BVME_IRQ_SCCA_TX (IRQ_USER+8) 12749148020SSam Ravnborg #define BVME_IRQ_SCCA_STAT (IRQ_USER+10) 12849148020SSam Ravnborg #define BVME_IRQ_SCCA_RX (IRQ_USER+12) 12949148020SSam Ravnborg #define BVME_IRQ_SCCA_SPCOND (IRQ_USER+14) 13049148020SSam Ravnborg 13149148020SSam Ravnborg /* Address control registers */ 13249148020SSam Ravnborg 13349148020SSam Ravnborg #define BVME_ACR_A32VBA 0xff400003 13449148020SSam Ravnborg #define BVME_ACR_A32MSK 0xff410003 13549148020SSam Ravnborg #define BVME_ACR_A24VBA 0xff420003 13649148020SSam Ravnborg #define BVME_ACR_A24MSK 0xff430003 13749148020SSam Ravnborg #define BVME_ACR_A16VBA 0xff440003 13849148020SSam Ravnborg #define BVME_ACR_A32LBA 0xff450003 13949148020SSam Ravnborg #define BVME_ACR_A24LBA 0xff460003 14049148020SSam Ravnborg #define BVME_ACR_ADDRCTL 0xff470003 14149148020SSam Ravnborg 14249148020SSam Ravnborg #define bvme_acr_a32vba *(volatile unsigned char *)BVME_ACR_A32VBA 14349148020SSam Ravnborg #define bvme_acr_a32msk *(volatile unsigned char *)BVME_ACR_A32MSK 14449148020SSam Ravnborg #define bvme_acr_a24vba *(volatile unsigned char *)BVME_ACR_A24VBA 14549148020SSam Ravnborg #define bvme_acr_a24msk *(volatile unsigned char *)BVME_ACR_A24MSK 14649148020SSam Ravnborg #define bvme_acr_a16vba *(volatile unsigned char *)BVME_ACR_A16VBA 14749148020SSam Ravnborg #define bvme_acr_a32lba *(volatile unsigned char *)BVME_ACR_A32LBA 14849148020SSam Ravnborg #define bvme_acr_a24lba *(volatile unsigned char *)BVME_ACR_A24LBA 14949148020SSam Ravnborg #define bvme_acr_addrctl *(volatile unsigned char *)BVME_ACR_ADDRCTL 15049148020SSam Ravnborg 15149148020SSam Ravnborg #endif 152