raspi4.h 972 B

1234567891011121314151617181920212223242526272829
  1. #ifndef __RASPI4_H__
  2. #define __RASPI4_H__
  3. //gpio
  4. #define GPIO_BASE (0xFE000000 + 0x00200000)
  5. //uart
  6. #define UART0_BASE (0xFE000000 + 0x00201000)
  7. #define PL011_BASE UART0_BASE
  8. #define IRQ_PL011 (121 + 32)
  9. #define UART_REFERENCE_CLOCK (48000000)
  10. // 0x40, 0x44, 0x48, 0x4c: Core 0~3 Timers interrupt control
  11. #define CORE0_TIMER_IRQ_CTRL HWREG32(0xFF800040)
  12. #define TIMER_IRQ 30
  13. #define NON_SECURE_TIMER_IRQ (1 << 1)
  14. //gic max
  15. #define ARM_GIC_NR_IRQS (512)
  16. #define INTC_BASE (0xff800000)
  17. #define GIC_V2_DISTRIBUTOR_BASE (INTC_BASE + 0x00041000)
  18. #define GIC_V2_CPU_INTERFACE_BASE (INTC_BASE + 0x00042000)
  19. #define GIC_V2_HYPERVISOR_BASE (INTC_BASE + 0x00044000)
  20. #define GIC_V2_VIRTUAL_CPU_BASE (INTC_BASE + 0x00046000)
  21. #define GIC_PL400_DISTRIBUTOR_PPTR GIC_V2_DISTRIBUTOR_BASE
  22. #define GIC_PL400_CONTROLLER_PPTR GIC_V2_CPU_INTERFACE_BASE
  23. #endif