blob: d8ed0b441a844030fd35966f62b0654db6d2e12c [file] [log] [blame]
// Generated register defines for RV_PLIC
// Copyright information found in source file:
// Copyright lowRISC contributors.
// Licensing information found in source file:
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
#ifndef _RV_PLIC_REG_DEFS_
#define _RV_PLIC_REG_DEFS_
// Interrupt Pending
#define RV_PLIC_IP(id) (RV_PLIC##id##_BASE_ADDR + 0x0)
#define RV_PLIC_IP_P0 0
#define RV_PLIC_IP_P1 1
#define RV_PLIC_IP_P2 2
#define RV_PLIC_IP_P3 3
#define RV_PLIC_IP_P4 4
#define RV_PLIC_IP_P5 5
#define RV_PLIC_IP_P6 6
#define RV_PLIC_IP_P7 7
#define RV_PLIC_IP_P8 8
#define RV_PLIC_IP_P9 9
#define RV_PLIC_IP_P10 10
#define RV_PLIC_IP_P11 11
#define RV_PLIC_IP_P12 12
#define RV_PLIC_IP_P13 13
#define RV_PLIC_IP_P14 14
#define RV_PLIC_IP_P15 15
#define RV_PLIC_IP_P16 16
#define RV_PLIC_IP_P17 17
#define RV_PLIC_IP_P18 18
#define RV_PLIC_IP_P19 19
#define RV_PLIC_IP_P20 20
#define RV_PLIC_IP_P21 21
#define RV_PLIC_IP_P22 22
#define RV_PLIC_IP_P23 23
#define RV_PLIC_IP_P24 24
#define RV_PLIC_IP_P25 25
#define RV_PLIC_IP_P26 26
#define RV_PLIC_IP_P27 27
#define RV_PLIC_IP_P28 28
#define RV_PLIC_IP_P29 29
#define RV_PLIC_IP_P30 30
#define RV_PLIC_IP_P31 31
// Interrupt Source mode. 0: Level, 1: Edge-triggered
#define RV_PLIC_LE(id) (RV_PLIC##id##_BASE_ADDR + 0x4)
#define RV_PLIC_LE_LE0 0
#define RV_PLIC_LE_LE1 1
#define RV_PLIC_LE_LE2 2
#define RV_PLIC_LE_LE3 3
#define RV_PLIC_LE_LE4 4
#define RV_PLIC_LE_LE5 5
#define RV_PLIC_LE_LE6 6
#define RV_PLIC_LE_LE7 7
#define RV_PLIC_LE_LE8 8
#define RV_PLIC_LE_LE9 9
#define RV_PLIC_LE_LE10 10
#define RV_PLIC_LE_LE11 11
#define RV_PLIC_LE_LE12 12
#define RV_PLIC_LE_LE13 13
#define RV_PLIC_LE_LE14 14
#define RV_PLIC_LE_LE15 15
#define RV_PLIC_LE_LE16 16
#define RV_PLIC_LE_LE17 17
#define RV_PLIC_LE_LE18 18
#define RV_PLIC_LE_LE19 19
#define RV_PLIC_LE_LE20 20
#define RV_PLIC_LE_LE21 21
#define RV_PLIC_LE_LE22 22
#define RV_PLIC_LE_LE23 23
#define RV_PLIC_LE_LE24 24
#define RV_PLIC_LE_LE25 25
#define RV_PLIC_LE_LE26 26
#define RV_PLIC_LE_LE27 27
#define RV_PLIC_LE_LE28 28
#define RV_PLIC_LE_LE29 29
#define RV_PLIC_LE_LE30 30
#define RV_PLIC_LE_LE31 31
// Interrupt Source 0 Priority
#define RV_PLIC_PRIO0(id) (RV_PLIC##id##_BASE_ADDR + 0x8)
#define RV_PLIC_PRIO0_MASK 0x7
#define RV_PLIC_PRIO0_OFFSET 0
// Interrupt Source 1 Priority
#define RV_PLIC_PRIO1(id) (RV_PLIC##id##_BASE_ADDR + 0xc)
#define RV_PLIC_PRIO1_MASK 0x7
#define RV_PLIC_PRIO1_OFFSET 0
// Interrupt Source 2 Priority
#define RV_PLIC_PRIO2(id) (RV_PLIC##id##_BASE_ADDR + 0x10)
#define RV_PLIC_PRIO2_MASK 0x7
#define RV_PLIC_PRIO2_OFFSET 0
// Interrupt Source 3 Priority
#define RV_PLIC_PRIO3(id) (RV_PLIC##id##_BASE_ADDR + 0x14)
#define RV_PLIC_PRIO3_MASK 0x7
#define RV_PLIC_PRIO3_OFFSET 0
// Interrupt Source 4 Priority
#define RV_PLIC_PRIO4(id) (RV_PLIC##id##_BASE_ADDR + 0x18)
#define RV_PLIC_PRIO4_MASK 0x7
#define RV_PLIC_PRIO4_OFFSET 0
// Interrupt Source 5 Priority
#define RV_PLIC_PRIO5(id) (RV_PLIC##id##_BASE_ADDR + 0x1c)
#define RV_PLIC_PRIO5_MASK 0x7
#define RV_PLIC_PRIO5_OFFSET 0
// Interrupt Source 6 Priority
#define RV_PLIC_PRIO6(id) (RV_PLIC##id##_BASE_ADDR + 0x20)
#define RV_PLIC_PRIO6_MASK 0x7
#define RV_PLIC_PRIO6_OFFSET 0
// Interrupt Source 7 Priority
#define RV_PLIC_PRIO7(id) (RV_PLIC##id##_BASE_ADDR + 0x24)
#define RV_PLIC_PRIO7_MASK 0x7
#define RV_PLIC_PRIO7_OFFSET 0
// Interrupt Source 8 Priority
#define RV_PLIC_PRIO8(id) (RV_PLIC##id##_BASE_ADDR + 0x28)
#define RV_PLIC_PRIO8_MASK 0x7
#define RV_PLIC_PRIO8_OFFSET 0
// Interrupt Source 9 Priority
#define RV_PLIC_PRIO9(id) (RV_PLIC##id##_BASE_ADDR + 0x2c)
#define RV_PLIC_PRIO9_MASK 0x7
#define RV_PLIC_PRIO9_OFFSET 0
// Interrupt Source 10 Priority
#define RV_PLIC_PRIO10(id) (RV_PLIC##id##_BASE_ADDR + 0x30)
#define RV_PLIC_PRIO10_MASK 0x7
#define RV_PLIC_PRIO10_OFFSET 0
// Interrupt Source 11 Priority
#define RV_PLIC_PRIO11(id) (RV_PLIC##id##_BASE_ADDR + 0x34)
#define RV_PLIC_PRIO11_MASK 0x7
#define RV_PLIC_PRIO11_OFFSET 0
// Interrupt Source 12 Priority
#define RV_PLIC_PRIO12(id) (RV_PLIC##id##_BASE_ADDR + 0x38)
#define RV_PLIC_PRIO12_MASK 0x7
#define RV_PLIC_PRIO12_OFFSET 0
// Interrupt Source 13 Priority
#define RV_PLIC_PRIO13(id) (RV_PLIC##id##_BASE_ADDR + 0x3c)
#define RV_PLIC_PRIO13_MASK 0x7
#define RV_PLIC_PRIO13_OFFSET 0
// Interrupt Source 14 Priority
#define RV_PLIC_PRIO14(id) (RV_PLIC##id##_BASE_ADDR + 0x40)
#define RV_PLIC_PRIO14_MASK 0x7
#define RV_PLIC_PRIO14_OFFSET 0
// Interrupt Source 15 Priority
#define RV_PLIC_PRIO15(id) (RV_PLIC##id##_BASE_ADDR + 0x44)
#define RV_PLIC_PRIO15_MASK 0x7
#define RV_PLIC_PRIO15_OFFSET 0
// Interrupt Source 16 Priority
#define RV_PLIC_PRIO16(id) (RV_PLIC##id##_BASE_ADDR + 0x48)
#define RV_PLIC_PRIO16_MASK 0x7
#define RV_PLIC_PRIO16_OFFSET 0
// Interrupt Source 17 Priority
#define RV_PLIC_PRIO17(id) (RV_PLIC##id##_BASE_ADDR + 0x4c)
#define RV_PLIC_PRIO17_MASK 0x7
#define RV_PLIC_PRIO17_OFFSET 0
// Interrupt Source 18 Priority
#define RV_PLIC_PRIO18(id) (RV_PLIC##id##_BASE_ADDR + 0x50)
#define RV_PLIC_PRIO18_MASK 0x7
#define RV_PLIC_PRIO18_OFFSET 0
// Interrupt Source 19 Priority
#define RV_PLIC_PRIO19(id) (RV_PLIC##id##_BASE_ADDR + 0x54)
#define RV_PLIC_PRIO19_MASK 0x7
#define RV_PLIC_PRIO19_OFFSET 0
// Interrupt Source 20 Priority
#define RV_PLIC_PRIO20(id) (RV_PLIC##id##_BASE_ADDR + 0x58)
#define RV_PLIC_PRIO20_MASK 0x7
#define RV_PLIC_PRIO20_OFFSET 0
// Interrupt Source 21 Priority
#define RV_PLIC_PRIO21(id) (RV_PLIC##id##_BASE_ADDR + 0x5c)
#define RV_PLIC_PRIO21_MASK 0x7
#define RV_PLIC_PRIO21_OFFSET 0
// Interrupt Source 22 Priority
#define RV_PLIC_PRIO22(id) (RV_PLIC##id##_BASE_ADDR + 0x60)
#define RV_PLIC_PRIO22_MASK 0x7
#define RV_PLIC_PRIO22_OFFSET 0
// Interrupt Source 23 Priority
#define RV_PLIC_PRIO23(id) (RV_PLIC##id##_BASE_ADDR + 0x64)
#define RV_PLIC_PRIO23_MASK 0x7
#define RV_PLIC_PRIO23_OFFSET 0
// Interrupt Source 24 Priority
#define RV_PLIC_PRIO24(id) (RV_PLIC##id##_BASE_ADDR + 0x68)
#define RV_PLIC_PRIO24_MASK 0x7
#define RV_PLIC_PRIO24_OFFSET 0
// Interrupt Source 25 Priority
#define RV_PLIC_PRIO25(id) (RV_PLIC##id##_BASE_ADDR + 0x6c)
#define RV_PLIC_PRIO25_MASK 0x7
#define RV_PLIC_PRIO25_OFFSET 0
// Interrupt Source 26 Priority
#define RV_PLIC_PRIO26(id) (RV_PLIC##id##_BASE_ADDR + 0x70)
#define RV_PLIC_PRIO26_MASK 0x7
#define RV_PLIC_PRIO26_OFFSET 0
// Interrupt Source 27 Priority
#define RV_PLIC_PRIO27(id) (RV_PLIC##id##_BASE_ADDR + 0x74)
#define RV_PLIC_PRIO27_MASK 0x7
#define RV_PLIC_PRIO27_OFFSET 0
// Interrupt Source 28 Priority
#define RV_PLIC_PRIO28(id) (RV_PLIC##id##_BASE_ADDR + 0x78)
#define RV_PLIC_PRIO28_MASK 0x7
#define RV_PLIC_PRIO28_OFFSET 0
// Interrupt Source 29 Priority
#define RV_PLIC_PRIO29(id) (RV_PLIC##id##_BASE_ADDR + 0x7c)
#define RV_PLIC_PRIO29_MASK 0x7
#define RV_PLIC_PRIO29_OFFSET 0
// Interrupt Source 30 Priority
#define RV_PLIC_PRIO30(id) (RV_PLIC##id##_BASE_ADDR + 0x80)
#define RV_PLIC_PRIO30_MASK 0x7
#define RV_PLIC_PRIO30_OFFSET 0
// Interrupt Source 31 Priority
#define RV_PLIC_PRIO31(id) (RV_PLIC##id##_BASE_ADDR + 0x84)
#define RV_PLIC_PRIO31_MASK 0x7
#define RV_PLIC_PRIO31_OFFSET 0
// Interrupt Enable for Target 0
#define RV_PLIC_IE0(id) (RV_PLIC##id##_BASE_ADDR + 0x100)
#define RV_PLIC_IE0_E0 0
#define RV_PLIC_IE0_E1 1
#define RV_PLIC_IE0_E2 2
#define RV_PLIC_IE0_E3 3
#define RV_PLIC_IE0_E4 4
#define RV_PLIC_IE0_E5 5
#define RV_PLIC_IE0_E6 6
#define RV_PLIC_IE0_E7 7
#define RV_PLIC_IE0_E8 8
#define RV_PLIC_IE0_E9 9
#define RV_PLIC_IE0_E10 10
#define RV_PLIC_IE0_E11 11
#define RV_PLIC_IE0_E12 12
#define RV_PLIC_IE0_E13 13
#define RV_PLIC_IE0_E14 14
#define RV_PLIC_IE0_E15 15
#define RV_PLIC_IE0_E16 16
#define RV_PLIC_IE0_E17 17
#define RV_PLIC_IE0_E18 18
#define RV_PLIC_IE0_E19 19
#define RV_PLIC_IE0_E20 20
#define RV_PLIC_IE0_E21 21
#define RV_PLIC_IE0_E22 22
#define RV_PLIC_IE0_E23 23
#define RV_PLIC_IE0_E24 24
#define RV_PLIC_IE0_E25 25
#define RV_PLIC_IE0_E26 26
#define RV_PLIC_IE0_E27 27
#define RV_PLIC_IE0_E28 28
#define RV_PLIC_IE0_E29 29
#define RV_PLIC_IE0_E30 30
#define RV_PLIC_IE0_E31 31
// Threshold of priority for Target 0
#define RV_PLIC_THRESHOLD0(id) (RV_PLIC##id##_BASE_ADDR + 0x104)
#define RV_PLIC_THRESHOLD0_MASK 0x7
#define RV_PLIC_THRESHOLD0_OFFSET 0
// Claim by read, complete by write for Target 0
#define RV_PLIC_CC0(id) (RV_PLIC##id##_BASE_ADDR + 0x108)
#define RV_PLIC_CC0_MASK 0x3f
#define RV_PLIC_CC0_OFFSET 0
// msip for Hart 0. Write 1 to here asserts msip_o[0]
#define RV_PLIC_MSIP0(id) (RV_PLIC##id##_BASE_ADDR + 0x10c)
#define RV_PLIC_MSIP0 0
#endif // _RV_PLIC_REG_DEFS_
// End generated register defines for RV_PLIC