driver: gpio: Add gpio driver initial version of RTS5912.

Add gpio driver for Realtek RTS5912.

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
This commit is contained in:
Lin Yu-Cheng 2024-11-22 19:46:53 +08:00 committed by Benjamin Cabé
commit 2656029c3a
8 changed files with 677 additions and 0 deletions

View file

@ -97,6 +97,123 @@
#address-cells = <1>;
#size-cells = <1>;
reg = <0x40090000 0x300>;
/* GPIO0-GPIO15 */
gpioa: gpio@40090000 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090000 0x40>;
ngpios = <16>;
interrupts = <0 0 1 0 2 0 3 0
4 0 5 0 6 0 7 0
8 0 9 0 10 0 11 0
12 0 13 0 14 0 15 0>;
};
/* GPIO16-GPIO31 */
gpiob: gpio@40090040 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090040 0x40>;
ngpios = <16>;
interrupts = <16 0 17 0 18 0 19 0
20 0 21 0 22 0 23 0
24 0 25 0 26 0 27 0
28 0 29 0 30 0 31 0>;
};
/* GPIO32-GPIO47 */
gpioc: gpio@40090080 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090080 0x40>;
ngpios = <16>;
interrupts = <32 0 33 0 34 0 35 0
36 0 37 0 38 0 39 0
40 0 41 0 42 0 43 0
44 0 45 0 46 0 47 0>;
};
/* GPIO48-GPIO63 */
gpiod: gpio@400900c0 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x400900c0 0x40>;
ngpios = <16>;
interrupts = <48 0 49 0 50 0 51 0
52 0 53 0 54 0 55 0
56 0 57 0 58 0 59 0
60 0 61 0 62 0 63 0>;
};
/* GPIO64-GPIO79 */
gpioe: gpio@40090100 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090100 0x40>;
ngpios = <16>;
interrupts = <64 0 65 0 66 0 67 0
68 0 69 0 70 0 71 0
72 0 73 0 74 0 75 0
76 0 77 0 78 0 79 0>;
};
/* GPIO80-GPIO95 */
gpiof: gpio@40090140 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090140 0x40>;
ngpios = <16>;
interrupts = <80 0 81 0 82 0 83 0
84 0 85 0 86 0 87 0
88 0 89 0 90 0 91 0
92 0 93 0 94 0 95 0>;
};
/* GPIO96-GPIO111 */
gpiog: gpio@40090180 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090180 0x40>;
ngpios = <16>;
interrupts = <96 0 97 0 98 0 99 0
100 0 101 0 102 0 103 0
104 0 105 0 106 0 107 0
108 0 109 0 110 0 111 0>;
};
/* GPIO112-GPIO127 */
gpioh: gpio@400901c0 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x400901c0 0x40>;
ngpios = <16>;
interrupts = <112 0 113 0 114 0 115 0
116 0 117 0 118 0 119 0
120 0 121 0 122 0 123 0
124 0 125 0 126 0 127 0>;
};
/* GPIO128-GPIO131 */
gpioi: gpio@40090200 {
compatible = "realtek,rts5912-gpio";
gpio-controller;
#gpio-cells = <2>;
reg = <0x40090200 0x10>;
ngpios = <4>;
interrupts = <128 0 129 0 130 0 131 0
132 0 133 0 134 0 135 0
136 0 137 0 138 0 139 0
140 0 141 0 142 0 143 0>;
};
};
};