| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright (C) 2015 Microchip Technology Inc. All rights reserved. |
| */ |
| #include <dt-bindings/clock/microchip,pic32-clock.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| interrupt-parent = <&evic>; |
| |
| aliases { |
| gpio0 = &gpio0; |
| gpio1 = &gpio1; |
| gpio2 = &gpio2; |
| gpio3 = &gpio3; |
| gpio4 = &gpio4; |
| gpio5 = &gpio5; |
| gpio6 = &gpio6; |
| gpio7 = &gpio7; |
| gpio8 = &gpio8; |
| gpio9 = &gpio9; |
| serial0 = &uart1; |
| serial1 = &uart2; |
| serial2 = &uart3; |
| serial3 = &uart4; |
| serial4 = &uart5; |
| serial5 = &uart6; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu@0 { |
| compatible = "mti,mips14KEc"; |
| device_type = "cpu"; |
| }; |
| }; |
| |
| soc { |
| compatible = "microchip,pic32mzda-infra"; |
| interrupts = <0 IRQ_TYPE_EDGE_RISING>; |
| }; |
| |
| /* external clock input on TxCLKI pin */ |
| txcki: txcki_clk { |
| #clock-cells = <0>; |
| compatible = "fixed-clock"; |
| clock-frequency = <4000000>; |
| status = "disabled"; |
| }; |
| |
| /* external input on REFCLKIx pin */ |
| refix: refix_clk { |
| #clock-cells = <0>; |
| compatible = "fixed-clock"; |
| clock-frequency = <24000000>; |
| status = "disabled"; |
| }; |
| |
| rootclk: clock-controller@1f801200 { |
| compatible = "microchip,pic32mzda-clk"; |
| reg = <0x1f801200 0x200>; |
| #clock-cells = <1>; |
| microchip,pic32mzda-sosc; |
| }; |
| |
| evic: interrupt-controller@1f810000 { |
| compatible = "microchip,pic32mzda-evic"; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| reg = <0x1f810000 0x1000>; |
| microchip,external-irqs = <3 8 13 18 23>; |
| }; |
| |
| pic32_pinctrl: pinctrl@1f801400 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "microchip,pic32mzda-pinctrl"; |
| reg = <0x1f801400 0x400>; |
| clocks = <&rootclk PB1CLK>; |
| }; |
| |
| /* PORTA */ |
| gpio0: gpio0@1f860000 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860000 0x100>; |
| interrupts = <118 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <0>; |
| gpio-ranges = <&pic32_pinctrl 0 0 16>; |
| }; |
| |
| /* PORTB */ |
| gpio1: gpio1@1f860100 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860100 0x100>; |
| interrupts = <119 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <1>; |
| gpio-ranges = <&pic32_pinctrl 0 16 16>; |
| }; |
| |
| /* PORTC */ |
| gpio2: gpio2@1f860200 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860200 0x100>; |
| interrupts = <120 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <2>; |
| gpio-ranges = <&pic32_pinctrl 0 32 16>; |
| }; |
| |
| /* PORTD */ |
| gpio3: gpio3@1f860300 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860300 0x100>; |
| interrupts = <121 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <3>; |
| gpio-ranges = <&pic32_pinctrl 0 48 16>; |
| }; |
| |
| /* PORTE */ |
| gpio4: gpio4@1f860400 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860400 0x100>; |
| interrupts = <122 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <4>; |
| gpio-ranges = <&pic32_pinctrl 0 64 16>; |
| }; |
| |
| /* PORTF */ |
| gpio5: gpio5@1f860500 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860500 0x100>; |
| interrupts = <123 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <5>; |
| gpio-ranges = <&pic32_pinctrl 0 80 16>; |
| }; |
| |
| /* PORTG */ |
| gpio6: gpio6@1f860600 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860600 0x100>; |
| interrupts = <124 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <6>; |
| gpio-ranges = <&pic32_pinctrl 0 96 16>; |
| }; |
| |
| /* PORTH */ |
| gpio7: gpio7@1f860700 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860700 0x100>; |
| interrupts = <125 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <7>; |
| gpio-ranges = <&pic32_pinctrl 0 112 16>; |
| }; |
| |
| /* PORTI does not exist */ |
| |
| /* PORTJ */ |
| gpio8: gpio8@1f860800 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860800 0x100>; |
| interrupts = <126 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <8>; |
| gpio-ranges = <&pic32_pinctrl 0 128 16>; |
| }; |
| |
| /* PORTK */ |
| gpio9: gpio9@1f860900 { |
| compatible = "microchip,pic32mzda-gpio"; |
| reg = <0x1f860900 0x100>; |
| interrupts = <127 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&rootclk PB4CLK>; |
| microchip,gpio-bank = <9>; |
| gpio-ranges = <&pic32_pinctrl 0 144 16>; |
| }; |
| |
| sdhci: sdhci@1f8ec000 { |
| compatible = "microchip,pic32mzda-sdhci"; |
| reg = <0x1f8ec000 0x100>; |
| interrupts = <191 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>; |
| clock-names = "base_clk", "sys_clk"; |
| bus-width = <4>; |
| cap-sd-highspeed; |
| status = "disabled"; |
| }; |
| |
| uart1: serial@1f822000 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822000 0x50>; |
| interrupts = <112 IRQ_TYPE_LEVEL_HIGH>, |
| <113 IRQ_TYPE_LEVEL_HIGH>, |
| <114 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| |
| uart2: serial@1f822200 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822200 0x50>; |
| interrupts = <145 IRQ_TYPE_LEVEL_HIGH>, |
| <146 IRQ_TYPE_LEVEL_HIGH>, |
| <147 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| |
| uart3: serial@1f822400 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822400 0x50>; |
| interrupts = <157 IRQ_TYPE_LEVEL_HIGH>, |
| <158 IRQ_TYPE_LEVEL_HIGH>, |
| <159 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| |
| uart4: serial@1f822600 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822600 0x50>; |
| interrupts = <170 IRQ_TYPE_LEVEL_HIGH>, |
| <171 IRQ_TYPE_LEVEL_HIGH>, |
| <172 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| |
| uart5: serial@1f822800 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822800 0x50>; |
| interrupts = <179 IRQ_TYPE_LEVEL_HIGH>, |
| <180 IRQ_TYPE_LEVEL_HIGH>, |
| <181 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| |
| uart6: serial@1f822A00 { |
| compatible = "microchip,pic32mzda-uart"; |
| reg = <0x1f822A00 0x50>; |
| interrupts = <188 IRQ_TYPE_LEVEL_HIGH>, |
| <189 IRQ_TYPE_LEVEL_HIGH>, |
| <190 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&rootclk PB2CLK>; |
| status = "disabled"; |
| }; |
| }; |