1*7219d20fSPierre-Henry Moussay// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*7219d20fSPierre-Henry Moussay/* 3*7219d20fSPierre-Henry Moussay * Device Tree Source for the PIC64GX Curiosity Kit 4*7219d20fSPierre-Henry Moussay * 5*7219d20fSPierre-Henry Moussay * Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries 6*7219d20fSPierre-Henry Moussay * 7*7219d20fSPierre-Henry Moussay * Author: Pierre-Henry Moussay <pierre-henry.moussay@microchip.com> 8*7219d20fSPierre-Henry Moussay * 9*7219d20fSPierre-Henry Moussay * The Curiosity-GX10000 (PIC64GX SoC Curiosity Kit) is a compact SoC 10*7219d20fSPierre-Henry Moussay * prototyping board featuring a Microchip PIC64GX SoC 11*7219d20fSPierre-Henry Moussay * PIC64GX-1000. Features include: 12*7219d20fSPierre-Henry Moussay * - 1 GB DDR4 SDRAM 13*7219d20fSPierre-Henry Moussay * - Gigabit Ethernet 14*7219d20fSPierre-Henry Moussay * - microSD-card slot 15*7219d20fSPierre-Henry Moussay * 16*7219d20fSPierre-Henry Moussay * https://www.microchip.com/en-us/development-tool/curiosity-pic64gx1000-kit-es 17*7219d20fSPierre-Henry Moussay */ 18*7219d20fSPierre-Henry Moussay 19*7219d20fSPierre-Henry Moussay/dts-v1/; 20*7219d20fSPierre-Henry Moussay 21*7219d20fSPierre-Henry Moussay#include "pic64gx.dtsi" 22*7219d20fSPierre-Henry Moussay#include "pic64gx-pinctrl.dtsi" 23*7219d20fSPierre-Henry Moussay 24*7219d20fSPierre-Henry Moussay/* Clock frequency (in Hz) of the rtcclk */ 25*7219d20fSPierre-Henry Moussay#define RTCCLK_FREQ 1000000 26*7219d20fSPierre-Henry Moussay 27*7219d20fSPierre-Henry Moussay/ { 28*7219d20fSPierre-Henry Moussay #address-cells = <2>; 29*7219d20fSPierre-Henry Moussay #size-cells = <2>; 30*7219d20fSPierre-Henry Moussay model = "Microchip PIC64GX Curiosity Kit"; 31*7219d20fSPierre-Henry Moussay compatible = "microchip,pic64gx-curiosity-kit", "microchip,pic64gx"; 32*7219d20fSPierre-Henry Moussay 33*7219d20fSPierre-Henry Moussay aliases { 34*7219d20fSPierre-Henry Moussay ethernet0 = &mac0; 35*7219d20fSPierre-Henry Moussay serial1 = &mmuart1; 36*7219d20fSPierre-Henry Moussay serial2 = &mmuart2; 37*7219d20fSPierre-Henry Moussay }; 38*7219d20fSPierre-Henry Moussay 39*7219d20fSPierre-Henry Moussay chosen { 40*7219d20fSPierre-Henry Moussay stdout-path = "serial1:115200n8"; 41*7219d20fSPierre-Henry Moussay }; 42*7219d20fSPierre-Henry Moussay 43*7219d20fSPierre-Henry Moussay cpus { 44*7219d20fSPierre-Henry Moussay timebase-frequency = <RTCCLK_FREQ>; 45*7219d20fSPierre-Henry Moussay }; 46*7219d20fSPierre-Henry Moussay 47*7219d20fSPierre-Henry Moussay memory@80000000 { 48*7219d20fSPierre-Henry Moussay device_type = "memory"; 49*7219d20fSPierre-Henry Moussay reg = <0x0 0x80000000 0x0 0x40000000>; 50*7219d20fSPierre-Henry Moussay }; 51*7219d20fSPierre-Henry Moussay 52*7219d20fSPierre-Henry Moussay reserved-memory { 53*7219d20fSPierre-Henry Moussay #address-cells = <2>; 54*7219d20fSPierre-Henry Moussay #size-cells = <2>; 55*7219d20fSPierre-Henry Moussay ranges; 56*7219d20fSPierre-Henry Moussay 57*7219d20fSPierre-Henry Moussay hss: hss-buffer@bfc00000 { 58*7219d20fSPierre-Henry Moussay compatible = "shared-dma-pool"; 59*7219d20fSPierre-Henry Moussay reg = <0x0 0xbfc00000 0x0 0x400000>; 60*7219d20fSPierre-Henry Moussay no-map; 61*7219d20fSPierre-Henry Moussay }; 62*7219d20fSPierre-Henry Moussay }; 63*7219d20fSPierre-Henry Moussay}; 64*7219d20fSPierre-Henry Moussay 65*7219d20fSPierre-Henry Moussay&gpio0 { 66*7219d20fSPierre-Henry Moussay interrupts = <13>, <14>, <15>, <16>, 67*7219d20fSPierre-Henry Moussay <17>, <18>, <19>, <20>, 68*7219d20fSPierre-Henry Moussay <21>, <22>, <23>, <24>, 69*7219d20fSPierre-Henry Moussay <25>, <26>; 70*7219d20fSPierre-Henry Moussay status ="okay"; 71*7219d20fSPierre-Henry Moussay gpio-line-names = 72*7219d20fSPierre-Henry Moussay "", "", "", "", "", "", "", "", 73*7219d20fSPierre-Henry Moussay "", "", "", "", "MIPI_CAM_RESET", "MIPI_CAM_STANDBY"; 74*7219d20fSPierre-Henry Moussay}; 75*7219d20fSPierre-Henry Moussay 76*7219d20fSPierre-Henry Moussay&gpio1 { 77*7219d20fSPierre-Henry Moussay interrupts = <27>, <28>, <29>, <30>, 78*7219d20fSPierre-Henry Moussay <31>, <32>, <33>, <34>, 79*7219d20fSPierre-Henry Moussay <35>, <36>, <37>, <38>, 80*7219d20fSPierre-Henry Moussay <39>, <40>, <41>, <42>, 81*7219d20fSPierre-Henry Moussay <43>, <44>, <45>, <46>, 82*7219d20fSPierre-Henry Moussay <47>, <48>, <49>, <50>; 83*7219d20fSPierre-Henry Moussay status ="okay"; 84*7219d20fSPierre-Henry Moussay gpio-line-names = 85*7219d20fSPierre-Henry Moussay "", "", "LED1", "LED2", "LED3", "LED4", "LED5", "LED6", 86*7219d20fSPierre-Henry Moussay "LED7", "LED8", "", "", "", "", "", "", 87*7219d20fSPierre-Henry Moussay "", "", "", "", "HDMI_HPD", "", "", "GPIO_1_23"; 88*7219d20fSPierre-Henry Moussay}; 89*7219d20fSPierre-Henry Moussay 90*7219d20fSPierre-Henry Moussay&gpio2 { 91*7219d20fSPierre-Henry Moussay interrupts = <53>, <53>, <53>, <53>, 92*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 93*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 94*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 95*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 96*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 97*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>, 98*7219d20fSPierre-Henry Moussay <53>, <53>, <53>, <53>; 99*7219d20fSPierre-Henry Moussay pinctrl-names = "default"; 100*7219d20fSPierre-Henry Moussay pinctrl-0 = <&mdio1_gpio>, <&spi0_gpio>, <&can0_gpio>, <&pcie_gpio>, 101*7219d20fSPierre-Henry Moussay <&qspi_gpio>, <&uart3_gpio>, <&uart4_gpio>, <&can1_gpio>; 102*7219d20fSPierre-Henry Moussay status ="okay"; 103*7219d20fSPierre-Henry Moussay gpio-line-names = 104*7219d20fSPierre-Henry Moussay "", "", "", "", "", "", "SWITCH2", "USR_IO12", 105*7219d20fSPierre-Henry Moussay "DIP1", "DIP2", "", "DIP3", "USR_IO1", "USR_IO2", "USR_IO7", "USR_IO8", 106*7219d20fSPierre-Henry Moussay "USR_IO3", "USR_IO4", "USR_IO5", "USR_IO6", "", "", "USR_IO9", "USR_IO10", 107*7219d20fSPierre-Henry Moussay "DIP4", "USR_IO11", "", "", "SWITCH1", "", "", ""; 108*7219d20fSPierre-Henry Moussay}; 109*7219d20fSPierre-Henry Moussay 110*7219d20fSPierre-Henry Moussay&mac0 { 111*7219d20fSPierre-Henry Moussay status = "okay"; 112*7219d20fSPierre-Henry Moussay phy-mode = "sgmii"; 113*7219d20fSPierre-Henry Moussay phy-handle = <&phy0>; 114*7219d20fSPierre-Henry Moussay pinctrl-names = "default"; 115*7219d20fSPierre-Henry Moussay pinctrl-0 = <&mdio0_default>; 116*7219d20fSPierre-Henry Moussay 117*7219d20fSPierre-Henry Moussay phy0: ethernet-phy@b { 118*7219d20fSPierre-Henry Moussay reg = <0xb>; 119*7219d20fSPierre-Henry Moussay }; 120*7219d20fSPierre-Henry Moussay}; 121*7219d20fSPierre-Henry Moussay 122*7219d20fSPierre-Henry Moussay&mbox { 123*7219d20fSPierre-Henry Moussay status = "okay"; 124*7219d20fSPierre-Henry Moussay}; 125*7219d20fSPierre-Henry Moussay 126*7219d20fSPierre-Henry Moussay&i2c0 { 127*7219d20fSPierre-Henry Moussay status = "okay"; 128*7219d20fSPierre-Henry Moussay}; 129*7219d20fSPierre-Henry Moussay 130*7219d20fSPierre-Henry Moussay&i2c1 { 131*7219d20fSPierre-Henry Moussay status = "okay"; 132*7219d20fSPierre-Henry Moussay}; 133*7219d20fSPierre-Henry Moussay 134*7219d20fSPierre-Henry Moussay&mmc { 135*7219d20fSPierre-Henry Moussay bus-width = <4>; 136*7219d20fSPierre-Henry Moussay disable-wp; 137*7219d20fSPierre-Henry Moussay cap-sd-highspeed; 138*7219d20fSPierre-Henry Moussay cap-mmc-highspeed; 139*7219d20fSPierre-Henry Moussay sdhci-caps-mask = <0x00000007 0x00000000>; 140*7219d20fSPierre-Henry Moussay status = "okay"; 141*7219d20fSPierre-Henry Moussay}; 142*7219d20fSPierre-Henry Moussay 143*7219d20fSPierre-Henry Moussay&mmuart1 { 144*7219d20fSPierre-Henry Moussay pinctrl-names = "default"; 145*7219d20fSPierre-Henry Moussay pinctrl-0 = <&uart1_fio>; 146*7219d20fSPierre-Henry Moussay status = "okay"; 147*7219d20fSPierre-Henry Moussay}; 148*7219d20fSPierre-Henry Moussay 149*7219d20fSPierre-Henry Moussay&mmuart2 { 150*7219d20fSPierre-Henry Moussay pinctrl-names = "default"; 151*7219d20fSPierre-Henry Moussay pinctrl-0 = <&uart2_default>; 152*7219d20fSPierre-Henry Moussay status = "okay"; 153*7219d20fSPierre-Henry Moussay}; 154*7219d20fSPierre-Henry Moussay 155*7219d20fSPierre-Henry Moussay&refclk { 156*7219d20fSPierre-Henry Moussay clock-frequency = <125000000>; 157*7219d20fSPierre-Henry Moussay}; 158*7219d20fSPierre-Henry Moussay 159*7219d20fSPierre-Henry Moussay&rtc { 160*7219d20fSPierre-Henry Moussay status = "okay"; 161*7219d20fSPierre-Henry Moussay}; 162*7219d20fSPierre-Henry Moussay 163*7219d20fSPierre-Henry Moussay&syscontroller { 164*7219d20fSPierre-Henry Moussay status = "okay"; 165*7219d20fSPierre-Henry Moussay}; 166