1 // 2 // Copyright (c) 2010-2024 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 8 using System.Collections.Generic; 9 using Antmicro.Renode.Core; 10 11 namespace Antmicro.Renode.Peripherals.GPIOPort 12 { 13 public class RenesasRA2_GPIO : RenesasRA_GPIO 14 { RenesasRA2_GPIO(IMachine machine, int portNumber, int numberOfConnections, RenesasRA_GPIOMisc pfsMisc)15 public RenesasRA2_GPIO(IMachine machine, int portNumber, int numberOfConnections, RenesasRA_GPIOMisc pfsMisc) 16 : base(machine, portNumber, numberOfConnections, pfsMisc) 17 { 18 // Intentionally left blank 19 } 20 21 protected override List<InterruptOutput>[] PinInterruptOutputs => new List<InterruptOutput>[] 22 { 23 /* PORT0 */ new List<InterruptOutput> 24 { 25 new InterruptOutput(0, IRQ6), 26 new InterruptOutput(1, IRQ7), 27 new InterruptOutput(2, IRQ2), 28 new InterruptOutput(4, IRQ3), 29 new InterruptOutput(15, IRQ7), 30 }, 31 /* PORT1 */ new List<InterruptOutput> 32 { 33 new InterruptOutput(0, IRQ2), 34 new InterruptOutput(1, IRQ1), 35 new InterruptOutput(4, IRQ1), 36 new InterruptOutput(5, IRQ0), 37 new InterruptOutput(10, IRQ3), 38 new InterruptOutput(11, IRQ4), 39 }, 40 /* PORT2 */ new List<InterruptOutput> 41 { 42 new InterruptOutput(5, IRQ1), 43 new InterruptOutput(6, IRQ0), 44 new InterruptOutput(12, IRQ3), 45 new InterruptOutput(13, IRQ2), 46 }, 47 /* PORT3 */ new List<InterruptOutput> 48 { 49 new InterruptOutput(1, IRQ6), 50 new InterruptOutput(2, IRQ5), 51 }, 52 /* PORT4 */ new List<InterruptOutput> 53 { 54 new InterruptOutput(0, IRQ0), 55 new InterruptOutput(1, IRQ5), 56 new InterruptOutput(2, IRQ4), 57 new InterruptOutput(8, IRQ7), 58 new InterruptOutput(9, IRQ6), 59 new InterruptOutput(10, IRQ5), 60 new InterruptOutput(11, IRQ4), 61 }, 62 /* PORT5 */ new List<InterruptOutput> 63 { 64 // Intentionally left blank 65 }, 66 /* PORT6 */ new List<InterruptOutput> 67 { 68 // Intentionally left blank 69 }, 70 /* PORT7 */ new List<InterruptOutput> 71 { 72 // Intentionally left blank 73 }, 74 /* PORT8 */ new List<InterruptOutput> 75 { 76 // Intentionally left blank 77 }, 78 /* PORT9 */ new List<InterruptOutput> 79 { 80 // Intentionally left blank 81 }, 82 /* PORTA */ new List<InterruptOutput> 83 { 84 // Intentionally left blank 85 }, 86 /* PORTB */ new List<InterruptOutput> 87 { 88 // Intentionally left blank 89 }, 90 }; 91 } 92 } 93