18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2015 Microchip Technology Inc. All rights reserved. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci#include <dt-bindings/clock/microchip,pic32-clock.h> 68c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/ { 98c2ecf20Sopenharmony_ci #address-cells = <1>; 108c2ecf20Sopenharmony_ci #size-cells = <1>; 118c2ecf20Sopenharmony_ci interrupt-parent = <&evic>; 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci aliases { 148c2ecf20Sopenharmony_ci gpio0 = &gpio0; 158c2ecf20Sopenharmony_ci gpio1 = &gpio1; 168c2ecf20Sopenharmony_ci gpio2 = &gpio2; 178c2ecf20Sopenharmony_ci gpio3 = &gpio3; 188c2ecf20Sopenharmony_ci gpio4 = &gpio4; 198c2ecf20Sopenharmony_ci gpio5 = &gpio5; 208c2ecf20Sopenharmony_ci gpio6 = &gpio6; 218c2ecf20Sopenharmony_ci gpio7 = &gpio7; 228c2ecf20Sopenharmony_ci gpio8 = &gpio8; 238c2ecf20Sopenharmony_ci gpio9 = &gpio9; 248c2ecf20Sopenharmony_ci serial0 = &uart1; 258c2ecf20Sopenharmony_ci serial1 = &uart2; 268c2ecf20Sopenharmony_ci serial2 = &uart3; 278c2ecf20Sopenharmony_ci serial3 = &uart4; 288c2ecf20Sopenharmony_ci serial4 = &uart5; 298c2ecf20Sopenharmony_ci serial5 = &uart6; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci cpus { 338c2ecf20Sopenharmony_ci #address-cells = <1>; 348c2ecf20Sopenharmony_ci #size-cells = <0>; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci cpu@0 { 378c2ecf20Sopenharmony_ci compatible = "mti,mips14KEc"; 388c2ecf20Sopenharmony_ci device_type = "cpu"; 398c2ecf20Sopenharmony_ci }; 408c2ecf20Sopenharmony_ci }; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci soc { 438c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-infra"; 448c2ecf20Sopenharmony_ci interrupts = <0 IRQ_TYPE_EDGE_RISING>; 458c2ecf20Sopenharmony_ci }; 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci /* external clock input on TxCLKI pin */ 488c2ecf20Sopenharmony_ci txcki: txcki_clk { 498c2ecf20Sopenharmony_ci #clock-cells = <0>; 508c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 518c2ecf20Sopenharmony_ci clock-frequency = <4000000>; 528c2ecf20Sopenharmony_ci status = "disabled"; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci /* external input on REFCLKIx pin */ 568c2ecf20Sopenharmony_ci refix: refix_clk { 578c2ecf20Sopenharmony_ci #clock-cells = <0>; 588c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 598c2ecf20Sopenharmony_ci clock-frequency = <24000000>; 608c2ecf20Sopenharmony_ci status = "disabled"; 618c2ecf20Sopenharmony_ci }; 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci rootclk: clock-controller@1f801200 { 648c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-clk"; 658c2ecf20Sopenharmony_ci reg = <0x1f801200 0x200>; 668c2ecf20Sopenharmony_ci #clock-cells = <1>; 678c2ecf20Sopenharmony_ci microchip,pic32mzda-sosc; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci evic: interrupt-controller@1f810000 { 718c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-evic"; 728c2ecf20Sopenharmony_ci interrupt-controller; 738c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 748c2ecf20Sopenharmony_ci reg = <0x1f810000 0x1000>; 758c2ecf20Sopenharmony_ci microchip,external-irqs = <3 8 13 18 23>; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci pic32_pinctrl: pinctrl@1f801400{ 798c2ecf20Sopenharmony_ci #address-cells = <1>; 808c2ecf20Sopenharmony_ci #size-cells = <1>; 818c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-pinctrl"; 828c2ecf20Sopenharmony_ci reg = <0x1f801400 0x400>; 838c2ecf20Sopenharmony_ci clocks = <&rootclk PB1CLK>; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci /* PORTA */ 878c2ecf20Sopenharmony_ci gpio0: gpio0@1f860000 { 888c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 898c2ecf20Sopenharmony_ci reg = <0x1f860000 0x100>; 908c2ecf20Sopenharmony_ci interrupts = <118 IRQ_TYPE_LEVEL_HIGH>; 918c2ecf20Sopenharmony_ci #gpio-cells = <2>; 928c2ecf20Sopenharmony_ci gpio-controller; 938c2ecf20Sopenharmony_ci interrupt-controller; 948c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 958c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 968c2ecf20Sopenharmony_ci microchip,gpio-bank = <0>; 978c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 0 16>; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci /* PORTB */ 1018c2ecf20Sopenharmony_ci gpio1: gpio1@1f860100 { 1028c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1038c2ecf20Sopenharmony_ci reg = <0x1f860100 0x100>; 1048c2ecf20Sopenharmony_ci interrupts = <119 IRQ_TYPE_LEVEL_HIGH>; 1058c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1068c2ecf20Sopenharmony_ci gpio-controller; 1078c2ecf20Sopenharmony_ci interrupt-controller; 1088c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1098c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1108c2ecf20Sopenharmony_ci microchip,gpio-bank = <1>; 1118c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 16 16>; 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci /* PORTC */ 1158c2ecf20Sopenharmony_ci gpio2: gpio2@1f860200 { 1168c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1178c2ecf20Sopenharmony_ci reg = <0x1f860200 0x100>; 1188c2ecf20Sopenharmony_ci interrupts = <120 IRQ_TYPE_LEVEL_HIGH>; 1198c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1208c2ecf20Sopenharmony_ci gpio-controller; 1218c2ecf20Sopenharmony_ci interrupt-controller; 1228c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1238c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1248c2ecf20Sopenharmony_ci microchip,gpio-bank = <2>; 1258c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 32 16>; 1268c2ecf20Sopenharmony_ci }; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci /* PORTD */ 1298c2ecf20Sopenharmony_ci gpio3: gpio3@1f860300 { 1308c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1318c2ecf20Sopenharmony_ci reg = <0x1f860300 0x100>; 1328c2ecf20Sopenharmony_ci interrupts = <121 IRQ_TYPE_LEVEL_HIGH>; 1338c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1348c2ecf20Sopenharmony_ci gpio-controller; 1358c2ecf20Sopenharmony_ci interrupt-controller; 1368c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1378c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1388c2ecf20Sopenharmony_ci microchip,gpio-bank = <3>; 1398c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 48 16>; 1408c2ecf20Sopenharmony_ci }; 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci /* PORTE */ 1438c2ecf20Sopenharmony_ci gpio4: gpio4@1f860400 { 1448c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1458c2ecf20Sopenharmony_ci reg = <0x1f860400 0x100>; 1468c2ecf20Sopenharmony_ci interrupts = <122 IRQ_TYPE_LEVEL_HIGH>; 1478c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1488c2ecf20Sopenharmony_ci gpio-controller; 1498c2ecf20Sopenharmony_ci interrupt-controller; 1508c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1518c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1528c2ecf20Sopenharmony_ci microchip,gpio-bank = <4>; 1538c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 64 16>; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci /* PORTF */ 1578c2ecf20Sopenharmony_ci gpio5: gpio5@1f860500 { 1588c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1598c2ecf20Sopenharmony_ci reg = <0x1f860500 0x100>; 1608c2ecf20Sopenharmony_ci interrupts = <123 IRQ_TYPE_LEVEL_HIGH>; 1618c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1628c2ecf20Sopenharmony_ci gpio-controller; 1638c2ecf20Sopenharmony_ci interrupt-controller; 1648c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1658c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1668c2ecf20Sopenharmony_ci microchip,gpio-bank = <5>; 1678c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 80 16>; 1688c2ecf20Sopenharmony_ci }; 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci /* PORTG */ 1718c2ecf20Sopenharmony_ci gpio6: gpio6@1f860600 { 1728c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1738c2ecf20Sopenharmony_ci reg = <0x1f860600 0x100>; 1748c2ecf20Sopenharmony_ci interrupts = <124 IRQ_TYPE_LEVEL_HIGH>; 1758c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1768c2ecf20Sopenharmony_ci gpio-controller; 1778c2ecf20Sopenharmony_ci interrupt-controller; 1788c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1798c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1808c2ecf20Sopenharmony_ci microchip,gpio-bank = <6>; 1818c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 96 16>; 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci /* PORTH */ 1858c2ecf20Sopenharmony_ci gpio7: gpio7@1f860700 { 1868c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 1878c2ecf20Sopenharmony_ci reg = <0x1f860700 0x100>; 1888c2ecf20Sopenharmony_ci interrupts = <125 IRQ_TYPE_LEVEL_HIGH>; 1898c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1908c2ecf20Sopenharmony_ci gpio-controller; 1918c2ecf20Sopenharmony_ci interrupt-controller; 1928c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1938c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 1948c2ecf20Sopenharmony_ci microchip,gpio-bank = <7>; 1958c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 112 16>; 1968c2ecf20Sopenharmony_ci }; 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci /* PORTI does not exist */ 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci /* PORTJ */ 2018c2ecf20Sopenharmony_ci gpio8: gpio8@1f860800 { 2028c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 2038c2ecf20Sopenharmony_ci reg = <0x1f860800 0x100>; 2048c2ecf20Sopenharmony_ci interrupts = <126 IRQ_TYPE_LEVEL_HIGH>; 2058c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2068c2ecf20Sopenharmony_ci gpio-controller; 2078c2ecf20Sopenharmony_ci interrupt-controller; 2088c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2098c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 2108c2ecf20Sopenharmony_ci microchip,gpio-bank = <8>; 2118c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 128 16>; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci /* PORTK */ 2158c2ecf20Sopenharmony_ci gpio9: gpio9@1f860900 { 2168c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-gpio"; 2178c2ecf20Sopenharmony_ci reg = <0x1f860900 0x100>; 2188c2ecf20Sopenharmony_ci interrupts = <127 IRQ_TYPE_LEVEL_HIGH>; 2198c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2208c2ecf20Sopenharmony_ci gpio-controller; 2218c2ecf20Sopenharmony_ci interrupt-controller; 2228c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2238c2ecf20Sopenharmony_ci clocks = <&rootclk PB4CLK>; 2248c2ecf20Sopenharmony_ci microchip,gpio-bank = <9>; 2258c2ecf20Sopenharmony_ci gpio-ranges = <&pic32_pinctrl 0 144 16>; 2268c2ecf20Sopenharmony_ci }; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci sdhci: sdhci@1f8ec000 { 2298c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-sdhci"; 2308c2ecf20Sopenharmony_ci reg = <0x1f8ec000 0x100>; 2318c2ecf20Sopenharmony_ci interrupts = <191 IRQ_TYPE_LEVEL_HIGH>; 2328c2ecf20Sopenharmony_ci clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>; 2338c2ecf20Sopenharmony_ci clock-names = "base_clk", "sys_clk"; 2348c2ecf20Sopenharmony_ci bus-width = <4>; 2358c2ecf20Sopenharmony_ci cap-sd-highspeed; 2368c2ecf20Sopenharmony_ci status = "disabled"; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci uart1: serial@1f822000 { 2408c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2418c2ecf20Sopenharmony_ci reg = <0x1f822000 0x50>; 2428c2ecf20Sopenharmony_ci interrupts = <112 IRQ_TYPE_LEVEL_HIGH>, 2438c2ecf20Sopenharmony_ci <113 IRQ_TYPE_LEVEL_HIGH>, 2448c2ecf20Sopenharmony_ci <114 IRQ_TYPE_LEVEL_HIGH>; 2458c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2468c2ecf20Sopenharmony_ci status = "disabled"; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci uart2: serial@1f822200 { 2508c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2518c2ecf20Sopenharmony_ci reg = <0x1f822200 0x50>; 2528c2ecf20Sopenharmony_ci interrupts = <145 IRQ_TYPE_LEVEL_HIGH>, 2538c2ecf20Sopenharmony_ci <146 IRQ_TYPE_LEVEL_HIGH>, 2548c2ecf20Sopenharmony_ci <147 IRQ_TYPE_LEVEL_HIGH>; 2558c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2568c2ecf20Sopenharmony_ci status = "disabled"; 2578c2ecf20Sopenharmony_ci }; 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci uart3: serial@1f822400 { 2608c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2618c2ecf20Sopenharmony_ci reg = <0x1f822400 0x50>; 2628c2ecf20Sopenharmony_ci interrupts = <157 IRQ_TYPE_LEVEL_HIGH>, 2638c2ecf20Sopenharmony_ci <158 IRQ_TYPE_LEVEL_HIGH>, 2648c2ecf20Sopenharmony_ci <159 IRQ_TYPE_LEVEL_HIGH>; 2658c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2668c2ecf20Sopenharmony_ci status = "disabled"; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci uart4: serial@1f822600 { 2708c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2718c2ecf20Sopenharmony_ci reg = <0x1f822600 0x50>; 2728c2ecf20Sopenharmony_ci interrupts = <170 IRQ_TYPE_LEVEL_HIGH>, 2738c2ecf20Sopenharmony_ci <171 IRQ_TYPE_LEVEL_HIGH>, 2748c2ecf20Sopenharmony_ci <172 IRQ_TYPE_LEVEL_HIGH>; 2758c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2768c2ecf20Sopenharmony_ci status = "disabled"; 2778c2ecf20Sopenharmony_ci }; 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ci uart5: serial@1f822800 { 2808c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2818c2ecf20Sopenharmony_ci reg = <0x1f822800 0x50>; 2828c2ecf20Sopenharmony_ci interrupts = <179 IRQ_TYPE_LEVEL_HIGH>, 2838c2ecf20Sopenharmony_ci <180 IRQ_TYPE_LEVEL_HIGH>, 2848c2ecf20Sopenharmony_ci <181 IRQ_TYPE_LEVEL_HIGH>; 2858c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2868c2ecf20Sopenharmony_ci status = "disabled"; 2878c2ecf20Sopenharmony_ci }; 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_ci uart6: serial@1f822A00 { 2908c2ecf20Sopenharmony_ci compatible = "microchip,pic32mzda-uart"; 2918c2ecf20Sopenharmony_ci reg = <0x1f822A00 0x50>; 2928c2ecf20Sopenharmony_ci interrupts = <188 IRQ_TYPE_LEVEL_HIGH>, 2938c2ecf20Sopenharmony_ci <189 IRQ_TYPE_LEVEL_HIGH>, 2948c2ecf20Sopenharmony_ci <190 IRQ_TYPE_LEVEL_HIGH>; 2958c2ecf20Sopenharmony_ci clocks = <&rootclk PB2CLK>; 2968c2ecf20Sopenharmony_ci status = "disabled"; 2978c2ecf20Sopenharmony_ci }; 2988c2ecf20Sopenharmony_ci}; 299