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 RenesasRA4_GPIO : RenesasRA_GPIO 14 { RenesasRA4_GPIO(IMachine machine, int portNumber, int numberOfConnections, RenesasRA_GPIOMisc pfsMisc)15 public RenesasRA4_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(5, IRQ10), 30 new InterruptOutput(11, IRQ15), 31 new InterruptOutput(15, IRQ7), 32 }, 33 /* PORT1 */ new List<InterruptOutput> 34 { 35 new InterruptOutput(0, IRQ2), 36 new InterruptOutput(1, IRQ1), 37 new InterruptOutput(4, IRQ1), 38 new InterruptOutput(5, IRQ0), 39 new InterruptOutput(10, IRQ3), 40 new InterruptOutput(11, IRQ4), 41 }, 42 /* PORT2 */ new List<InterruptOutput> 43 { 44 new InterruptOutput(5, IRQ1), 45 new InterruptOutput(6, IRQ0), 46 new InterruptOutput(12, IRQ3), 47 new InterruptOutput(13, IRQ2), 48 }, 49 /* PORT3 */ new List<InterruptOutput> 50 { 51 new InterruptOutput(1, IRQ6), 52 new InterruptOutput(2, IRQ5), 53 new InterruptOutput(4, IRQ9), 54 new InterruptOutput(5, IRQ8), 55 }, 56 /* PORT4 */ new List<InterruptOutput> 57 { 58 new InterruptOutput(0, IRQ0), 59 new InterruptOutput(1, IRQ5), 60 new InterruptOutput(2, IRQ4), 61 new InterruptOutput(8, IRQ7), 62 new InterruptOutput(9, IRQ6), 63 new InterruptOutput(10, IRQ5), 64 new InterruptOutput(11, IRQ4), 65 new InterruptOutput(14, IRQ9), 66 new InterruptOutput(15, IRQ8), 67 }, 68 /* PORT5 */ new List<InterruptOutput> 69 { 70 new InterruptOutput(1, IRQ11), 71 new InterruptOutput(2, IRQ12), 72 new InterruptOutput(5, IRQ14), 73 }, 74 /* PORT6 */ new List<InterruptOutput> 75 { 76 // Intentionally left blank 77 }, 78 /* PORT7 */ new List<InterruptOutput> 79 { 80 // Intentionally left blank 81 }, 82 /* PORT8 */ new List<InterruptOutput> 83 { 84 // Intentionally left blank 85 }, 86 /* PORT9 */ new List<InterruptOutput> 87 { 88 // Intentionally left blank 89 }, 90 /* PORTA */ new List<InterruptOutput> 91 { 92 // Intentionally left blank 93 }, 94 /* PORTB */ new List<InterruptOutput> 95 { 96 // Intentionally left blank 97 }, 98 }; 99 } 100 } 101