Anas Nashif | 3ae5262 | 2019-04-06 09:08:09 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: Apache-2.0 */ |
| 2 | |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 3 | #include <arm/armv7-m.dtsi> |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 4 | #include <dt-bindings/gpio/gpio.h> |
Piotr Mienkowski | bca692e | 2019-02-01 15:43:19 +0100 | [diff] [blame] | 5 | #include <dt-bindings/i2c/i2c.h> |
Piotr Mienkowski | a148e11 | 2019-01-14 16:39:40 +0100 | [diff] [blame] | 6 | #include "gpio_gecko.h" |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 7 | |
| 8 | / { |
Kumar Gala | 7a15afc | 2020-04-22 13:46:15 -0500 | [diff] [blame] | 9 | chosen { |
| 10 | zephyr,flash-controller = &msc; |
| 11 | }; |
| 12 | |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 13 | cpus { |
Kumar Gala | def322f | 2018-09-18 14:51:26 -0500 | [diff] [blame] | 14 | #address-cells = <1>; |
| 15 | #size-cells = <0>; |
| 16 | |
Piotr Zięcik | 7d56fc3 | 2019-06-21 14:47:08 +0200 | [diff] [blame] | 17 | cpu0: cpu@0 { |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 18 | compatible = "arm,cortex-m4f"; |
Kumar Gala | 716047f | 2018-09-18 07:50:37 -0500 | [diff] [blame] | 19 | reg = <0>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 20 | }; |
| 21 | }; |
| 22 | |
Kumar Gala | 6856ad1 | 2018-09-18 07:59:03 -0500 | [diff] [blame] | 23 | sram0: memory@20000000 { |
Kumar Gala | 6856ad1 | 2018-09-18 07:59:03 -0500 | [diff] [blame] | 24 | compatible = "mmio-sram"; |
| 25 | }; |
| 26 | |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 27 | soc { |
Kumar Gala | 7a15afc | 2020-04-22 13:46:15 -0500 | [diff] [blame] | 28 | msc: flash-controller@400c0000 { |
Piotr Mienkowski | d9e2171 | 2018-08-07 14:11:45 +0200 | [diff] [blame] | 29 | compatible = "silabs,gecko-flash-controller"; |
| 30 | label = "FLASH_CTRL"; |
| 31 | reg = <0x400c0000 0x78>; |
| 32 | interrupts = <35 0>; |
| 33 | |
| 34 | #address-cells = <1>; |
| 35 | #size-cells = <1>; |
| 36 | |
| 37 | flash0: flash@0 { |
| 38 | compatible = "soc-nv-flash"; |
| 39 | label = "FLASH_0"; |
| 40 | write-block-size = <4>; |
Piotr Mienkowski | df33e5e | 2019-04-02 10:54:29 +0200 | [diff] [blame] | 41 | erase-block-size = <2048>; |
Piotr Mienkowski | d9e2171 | 2018-08-07 14:11:45 +0200 | [diff] [blame] | 42 | }; |
| 43 | }; |
| 44 | |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 45 | usart0: usart@4000c000 { /* USART0 */ |
| 46 | compatible = "silabs,gecko-usart"; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 47 | reg = <0x4000c000 0x400>; |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 48 | interrupts = <3 0>, <4 0>; |
| 49 | interrupt-names = "rx", "tx"; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 50 | peripheral-id = <0>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 51 | status = "disabled"; |
| 52 | label = "UART_0"; |
| 53 | }; |
| 54 | |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 55 | usart1: usart@4000c400 { /* USART1 */ |
| 56 | compatible = "silabs,gecko-usart"; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 57 | reg = <0x4000c400 0x400>; |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 58 | interrupts = <15 0>, <16 0>; |
| 59 | interrupt-names = "rx", "tx"; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 60 | peripheral-id = <1>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 61 | status = "disabled"; |
| 62 | label = "UART_1"; |
| 63 | }; |
| 64 | |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 65 | usart2: usart@4000c800 { /* USART2 */ |
| 66 | compatible = "silabs,gecko-usart"; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 67 | reg = <0x4000c800 0x400>; |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 68 | interrupts = <18 0>, <19 0>; |
| 69 | interrupt-names = "rx", "tx"; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 70 | peripheral-id = <2>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 71 | status = "disabled"; |
| 72 | label = "UART_2"; |
| 73 | }; |
| 74 | |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 75 | uart0: uart@4000e000 { /* UART0 */ |
| 76 | compatible = "silabs,gecko-uart"; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 77 | reg = <0x4000e000 0x400>; |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 78 | interrupts = <20 0>, <21 0>; |
| 79 | interrupt-names = "rx", "tx"; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 80 | peripheral-id = <0>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 81 | status = "disabled"; |
| 82 | label = "UART_3"; |
| 83 | }; |
| 84 | |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 85 | uart1: uart@4000e400 { /* UART1 */ |
| 86 | compatible = "silabs,gecko-uart"; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 87 | reg = <0x4000e400 0x400>; |
Diego Sueiro | 0c7a28c | 2018-10-16 17:51:01 +0100 | [diff] [blame] | 88 | interrupts = <22 0>, <23 0>; |
| 89 | interrupt-names = "rx", "tx"; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 90 | peripheral-id = <1>; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 91 | status = "disabled"; |
| 92 | label = "UART_4"; |
| 93 | }; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 94 | |
Piotr Mienkowski | 91786e9 | 2019-01-31 15:27:21 +0100 | [diff] [blame] | 95 | leuart0: leuart@40084000 { /* LEUART0 */ |
| 96 | compatible = "silabs,gecko-leuart"; |
| 97 | reg = <0x40084000 0x400>; |
| 98 | interrupts = <24 0>; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 99 | peripheral-id = <0>; |
Piotr Mienkowski | 91786e9 | 2019-01-31 15:27:21 +0100 | [diff] [blame] | 100 | status = "disabled"; |
| 101 | label = "LEUART_0"; |
| 102 | }; |
| 103 | |
| 104 | leuart1: leuart@40084400 { /* LEUART1 */ |
| 105 | compatible = "silabs,gecko-leuart"; |
| 106 | reg = <0x40084400 0x400>; |
| 107 | interrupts = <25 0>; |
Oane Kingma | 536e785 | 2019-09-20 08:34:57 +0200 | [diff] [blame] | 108 | peripheral-id = <1>; |
Piotr Mienkowski | 91786e9 | 2019-01-31 15:27:21 +0100 | [diff] [blame] | 109 | status = "disabled"; |
| 110 | label = "LEUART_1"; |
| 111 | }; |
| 112 | |
Piotr Mienkowski | bca692e | 2019-02-01 15:43:19 +0100 | [diff] [blame] | 113 | i2c0: i2c@4000a000 { |
| 114 | compatible = "silabs,gecko-i2c"; |
| 115 | clock-frequency = <I2C_BITRATE_STANDARD>; |
| 116 | #address-cells = <1>; |
| 117 | #size-cells = <0>; |
| 118 | reg = <0x4000a000 0x400>; |
| 119 | interrupts = <9 0>; |
| 120 | label = "I2C_0"; |
| 121 | status = "disabled"; |
| 122 | }; |
| 123 | |
| 124 | i2c1: i2c@4000a400 { |
| 125 | compatible = "silabs,gecko-i2c"; |
| 126 | clock-frequency = <I2C_BITRATE_STANDARD>; |
| 127 | #address-cells = <1>; |
| 128 | #size-cells = <0>; |
| 129 | reg = <0x4000a400 0x400>; |
| 130 | interrupts = <10 0>; |
| 131 | label = "I2C_1"; |
| 132 | status = "disabled"; |
| 133 | }; |
| 134 | |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 135 | gpio@40006100 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 136 | compatible = "silabs,gecko-gpio"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 137 | reg = <0x40006100 0xf00>; |
| 138 | interrupts = <1 2 11 2>; |
| 139 | interrupt-names = "GPIO_EVEN", "GPIO_ODD"; |
| 140 | label = "GPIO"; |
| 141 | |
| 142 | ranges; |
| 143 | #address-cells = <1>; |
| 144 | #size-cells = <1>; |
| 145 | |
| 146 | gpioa: gpio@40006000 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 147 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 148 | reg = <0x40006000 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 149 | peripheral-id = <0>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 150 | label = "GPIO_A"; |
| 151 | gpio-controller; |
| 152 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 153 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 154 | }; |
| 155 | |
| 156 | gpiob: gpio@40006024 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 157 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 158 | reg = <0x40006024 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 159 | peripheral-id = <1>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 160 | label = "GPIO_B"; |
| 161 | gpio-controller; |
| 162 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 163 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 164 | }; |
| 165 | |
| 166 | gpioc: gpio@40006048 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 167 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 168 | reg = <0x40006048 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 169 | peripheral-id = <2>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 170 | label = "GPIO_C"; |
| 171 | gpio-controller; |
| 172 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 173 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 174 | }; |
| 175 | |
| 176 | gpiod: gpio@4000606c { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 177 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 178 | reg = <0x4000606c 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 179 | peripheral-id = <3>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 180 | label = "GPIO_D"; |
| 181 | gpio-controller; |
| 182 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 183 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 184 | }; |
| 185 | |
| 186 | gpioe: gpio@40006090 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 187 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 188 | reg = <0x40006090 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 189 | peripheral-id = <4>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 190 | label = "GPIO_E"; |
| 191 | gpio-controller; |
| 192 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 193 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 194 | }; |
| 195 | |
| 196 | gpiof: gpio@400060b4 { |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 197 | compatible = "silabs,gecko-gpio-port"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 198 | reg = <0x400060b4 0x24>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 199 | peripheral-id = <5>; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 200 | label = "GPIO_F"; |
| 201 | gpio-controller; |
| 202 | #gpio-cells = <2>; |
Piotr Mienkowski | 8a9df52 | 2020-03-23 00:47:15 +0100 | [diff] [blame] | 203 | status = "disabled"; |
Kumar Gala | c3076d6 | 2018-10-04 18:29:47 -0500 | [diff] [blame] | 204 | }; |
| 205 | }; |
Christian Taedcke | 3959282 | 2017-04-05 18:49:41 +0200 | [diff] [blame] | 206 | }; |
| 207 | }; |
| 208 | |
| 209 | &nvic { |
| 210 | arm,num-irq-priority-bits = <3>; |
| 211 | }; |