1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Device Tree file for Cortina systems Gemini SoC 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/cortina,gemini-clock.h> 8*f126890aSEmmanuel Vadot#include <dt-bindings/reset/cortina,gemini-reset.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot/ { 12*f126890aSEmmanuel Vadot soc { 13*f126890aSEmmanuel Vadot #address-cells = <1>; 14*f126890aSEmmanuel Vadot #size-cells = <1>; 15*f126890aSEmmanuel Vadot ranges; 16*f126890aSEmmanuel Vadot compatible = "simple-bus"; 17*f126890aSEmmanuel Vadot interrupt-parent = <&intcon>; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot flash: flash@30000000 { 20*f126890aSEmmanuel Vadot compatible = "cortina,gemini-flash", "cfi-flash"; 21*f126890aSEmmanuel Vadot syscon = <&syscon>; 22*f126890aSEmmanuel Vadot pinctrl-names = "default"; 23*f126890aSEmmanuel Vadot pinctrl-0 = <&pflash_default_pins>; 24*f126890aSEmmanuel Vadot bank-width = <2>; 25*f126890aSEmmanuel Vadot status = "disabled"; 26*f126890aSEmmanuel Vadot }; 27*f126890aSEmmanuel Vadot 28*f126890aSEmmanuel Vadot syscon: syscon@40000000 { 29*f126890aSEmmanuel Vadot compatible = "cortina,gemini-syscon", 30*f126890aSEmmanuel Vadot "syscon", "simple-mfd"; 31*f126890aSEmmanuel Vadot reg = <0x40000000 0x1000>; 32*f126890aSEmmanuel Vadot #clock-cells = <1>; 33*f126890aSEmmanuel Vadot #reset-cells = <1>; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot syscon-reboot { 36*f126890aSEmmanuel Vadot compatible = "syscon-reboot"; 37*f126890aSEmmanuel Vadot regmap = <&syscon>; 38*f126890aSEmmanuel Vadot /* GLOBAL_RESET register */ 39*f126890aSEmmanuel Vadot offset = <0x0c>; 40*f126890aSEmmanuel Vadot /* RESET_GLOBAL | RESET_CPU1 */ 41*f126890aSEmmanuel Vadot mask = <0xC0000000>; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot pinctrl { 45*f126890aSEmmanuel Vadot compatible = "cortina,gemini-pinctrl"; 46*f126890aSEmmanuel Vadot regmap = <&syscon>; 47*f126890aSEmmanuel Vadot /* Hog the DRAM pins */ 48*f126890aSEmmanuel Vadot pinctrl-names = "default"; 49*f126890aSEmmanuel Vadot pinctrl-0 = <&dram_default_pins>, <&system_default_pins>, 50*f126890aSEmmanuel Vadot <&vcontrol_default_pins>; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot dram_default_pins: pinctrl-dram { 53*f126890aSEmmanuel Vadot mux { 54*f126890aSEmmanuel Vadot function = "dram"; 55*f126890aSEmmanuel Vadot groups = "dramgrp"; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot }; 58*f126890aSEmmanuel Vadot rtc_default_pins: pinctrl-rtc { 59*f126890aSEmmanuel Vadot mux { 60*f126890aSEmmanuel Vadot function = "rtc"; 61*f126890aSEmmanuel Vadot groups = "rtcgrp"; 62*f126890aSEmmanuel Vadot }; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot power_default_pins: pinctrl-power { 65*f126890aSEmmanuel Vadot mux { 66*f126890aSEmmanuel Vadot function = "power"; 67*f126890aSEmmanuel Vadot groups = "powergrp"; 68*f126890aSEmmanuel Vadot }; 69*f126890aSEmmanuel Vadot }; 70*f126890aSEmmanuel Vadot cir_default_pins: pinctrl-cir { 71*f126890aSEmmanuel Vadot mux { 72*f126890aSEmmanuel Vadot function = "cir"; 73*f126890aSEmmanuel Vadot groups = "cirgrp"; 74*f126890aSEmmanuel Vadot }; 75*f126890aSEmmanuel Vadot }; 76*f126890aSEmmanuel Vadot system_default_pins: pinctrl-system { 77*f126890aSEmmanuel Vadot mux { 78*f126890aSEmmanuel Vadot function = "system"; 79*f126890aSEmmanuel Vadot groups = "systemgrp"; 80*f126890aSEmmanuel Vadot }; 81*f126890aSEmmanuel Vadot }; 82*f126890aSEmmanuel Vadot vcontrol_default_pins: pinctrl-vcontrol { 83*f126890aSEmmanuel Vadot mux { 84*f126890aSEmmanuel Vadot function = "vcontrol"; 85*f126890aSEmmanuel Vadot groups = "vcontrolgrp"; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot ice_default_pins: pinctrl-ice { 89*f126890aSEmmanuel Vadot mux { 90*f126890aSEmmanuel Vadot function = "ice"; 91*f126890aSEmmanuel Vadot groups = "icegrp"; 92*f126890aSEmmanuel Vadot }; 93*f126890aSEmmanuel Vadot }; 94*f126890aSEmmanuel Vadot uart_default_pins: pinctrl-uart { 95*f126890aSEmmanuel Vadot mux { 96*f126890aSEmmanuel Vadot function = "uart"; 97*f126890aSEmmanuel Vadot groups = "uartrxtxgrp"; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot }; 100*f126890aSEmmanuel Vadot pflash_default_pins: pinctrl-pflash { 101*f126890aSEmmanuel Vadot mux { 102*f126890aSEmmanuel Vadot function = "pflash"; 103*f126890aSEmmanuel Vadot groups = "pflashgrp"; 104*f126890aSEmmanuel Vadot }; 105*f126890aSEmmanuel Vadot }; 106*f126890aSEmmanuel Vadot usb_default_pins: pinctrl-usb { 107*f126890aSEmmanuel Vadot mux { 108*f126890aSEmmanuel Vadot function = "usb"; 109*f126890aSEmmanuel Vadot groups = "usbgrp"; 110*f126890aSEmmanuel Vadot }; 111*f126890aSEmmanuel Vadot }; 112*f126890aSEmmanuel Vadot gmii_default_pins: pinctrl-gmii { 113*f126890aSEmmanuel Vadot /* 114*f126890aSEmmanuel Vadot * Only activate GMAC0 by default since 115*f126890aSEmmanuel Vadot * GMAC1 will overlap with 8 GPIO lines 116*f126890aSEmmanuel Vadot * gpio2a, gpio2b. Overlay groups with 117*f126890aSEmmanuel Vadot * "gmii_gmac0_grp", "gmii_gmac1_grp" for 118*f126890aSEmmanuel Vadot * both ethernet interfaces. 119*f126890aSEmmanuel Vadot */ 120*f126890aSEmmanuel Vadot mux { 121*f126890aSEmmanuel Vadot function = "gmii"; 122*f126890aSEmmanuel Vadot groups = "gmii_gmac0_grp"; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot pci_default_pins: pinctrl-pci { 126*f126890aSEmmanuel Vadot mux { 127*f126890aSEmmanuel Vadot function = "pci"; 128*f126890aSEmmanuel Vadot groups = "pcigrp"; 129*f126890aSEmmanuel Vadot }; 130*f126890aSEmmanuel Vadot }; 131*f126890aSEmmanuel Vadot sata_default_pins: pinctrl-sata { 132*f126890aSEmmanuel Vadot mux { 133*f126890aSEmmanuel Vadot function = "sata"; 134*f126890aSEmmanuel Vadot groups = "satagrp"; 135*f126890aSEmmanuel Vadot }; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot /* Activate both groups of pins for this state */ 138*f126890aSEmmanuel Vadot sata_and_ide_pins: pinctrl-sata-ide { 139*f126890aSEmmanuel Vadot mux0 { 140*f126890aSEmmanuel Vadot function = "sata"; 141*f126890aSEmmanuel Vadot groups = "satagrp"; 142*f126890aSEmmanuel Vadot }; 143*f126890aSEmmanuel Vadot mux1 { 144*f126890aSEmmanuel Vadot function = "ide"; 145*f126890aSEmmanuel Vadot groups = "idegrp"; 146*f126890aSEmmanuel Vadot }; 147*f126890aSEmmanuel Vadot }; 148*f126890aSEmmanuel Vadot tvc_default_pins: pinctrl-tvc { 149*f126890aSEmmanuel Vadot mux { 150*f126890aSEmmanuel Vadot function = "tvc"; 151*f126890aSEmmanuel Vadot groups = "tvcgrp"; 152*f126890aSEmmanuel Vadot }; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot }; 155*f126890aSEmmanuel Vadot }; 156*f126890aSEmmanuel Vadot 157*f126890aSEmmanuel Vadot watchdog@41000000 { 158*f126890aSEmmanuel Vadot compatible = "cortina,gemini-watchdog", "faraday,ftwdt010"; 159*f126890aSEmmanuel Vadot reg = <0x41000000 0x1000>; 160*f126890aSEmmanuel Vadot interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 161*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_WDOG>; 162*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>; 163*f126890aSEmmanuel Vadot clock-names = "PCLK"; 164*f126890aSEmmanuel Vadot }; 165*f126890aSEmmanuel Vadot 166*f126890aSEmmanuel Vadot uart0: serial@42000000 { 167*f126890aSEmmanuel Vadot compatible = "ns16550a"; 168*f126890aSEmmanuel Vadot reg = <0x42000000 0x100>; 169*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_UART>; 170*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_UART>; 171*f126890aSEmmanuel Vadot interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; 172*f126890aSEmmanuel Vadot pinctrl-names = "default"; 173*f126890aSEmmanuel Vadot pinctrl-0 = <&uart_default_pins>; 174*f126890aSEmmanuel Vadot reg-shift = <2>; 175*f126890aSEmmanuel Vadot }; 176*f126890aSEmmanuel Vadot 177*f126890aSEmmanuel Vadot timer@43000000 { 178*f126890aSEmmanuel Vadot compatible = "faraday,fttmr010"; 179*f126890aSEmmanuel Vadot reg = <0x43000000 0x1000>; 180*f126890aSEmmanuel Vadot interrupt-parent = <&intcon>; 181*f126890aSEmmanuel Vadot interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */ 182*f126890aSEmmanuel Vadot <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */ 183*f126890aSEmmanuel Vadot <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */ 184*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_TIMER>; 185*f126890aSEmmanuel Vadot /* APB clock or RTC clock */ 186*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>, <&syscon GEMINI_CLK_RTC>; 187*f126890aSEmmanuel Vadot clock-names = "PCLK", "EXTCLK"; 188*f126890aSEmmanuel Vadot syscon = <&syscon>; 189*f126890aSEmmanuel Vadot }; 190*f126890aSEmmanuel Vadot 191*f126890aSEmmanuel Vadot rtc@45000000 { 192*f126890aSEmmanuel Vadot compatible = "cortina,gemini-rtc", "faraday,ftrtc010"; 193*f126890aSEmmanuel Vadot reg = <0x45000000 0x100>; 194*f126890aSEmmanuel Vadot interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; 195*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_RTC>; 196*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>, <&syscon GEMINI_CLK_RTC>; 197*f126890aSEmmanuel Vadot clock-names = "PCLK", "EXTCLK"; 198*f126890aSEmmanuel Vadot pinctrl-names = "default"; 199*f126890aSEmmanuel Vadot pinctrl-0 = <&rtc_default_pins>; 200*f126890aSEmmanuel Vadot }; 201*f126890aSEmmanuel Vadot 202*f126890aSEmmanuel Vadot sata: sata@46000000 { 203*f126890aSEmmanuel Vadot compatible = "cortina,gemini-sata-bridge"; 204*f126890aSEmmanuel Vadot reg = <0x46000000 0x100>; 205*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_SATA0>, 206*f126890aSEmmanuel Vadot <&syscon GEMINI_RESET_SATA1>; 207*f126890aSEmmanuel Vadot reset-names = "sata0", "sata1"; 208*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_SATA0>, 209*f126890aSEmmanuel Vadot <&syscon GEMINI_CLK_GATE_SATA1>; 210*f126890aSEmmanuel Vadot clock-names = "SATA0_PCLK", "SATA1_PCLK"; 211*f126890aSEmmanuel Vadot /* 212*f126890aSEmmanuel Vadot * This defines the special "ide" state that needs 213*f126890aSEmmanuel Vadot * to be explicitly enabled to enable the IDE pins, 214*f126890aSEmmanuel Vadot * as these pins are normally used for other things. 215*f126890aSEmmanuel Vadot */ 216*f126890aSEmmanuel Vadot pinctrl-names = "default", "ide"; 217*f126890aSEmmanuel Vadot pinctrl-0 = <&sata_default_pins>; 218*f126890aSEmmanuel Vadot pinctrl-1 = <&sata_and_ide_pins>; 219*f126890aSEmmanuel Vadot syscon = <&syscon>; 220*f126890aSEmmanuel Vadot status = "disabled"; 221*f126890aSEmmanuel Vadot }; 222*f126890aSEmmanuel Vadot 223*f126890aSEmmanuel Vadot intcon: interrupt-controller@48000000 { 224*f126890aSEmmanuel Vadot compatible = "faraday,ftintc010"; 225*f126890aSEmmanuel Vadot reg = <0x48000000 0x1000>; 226*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_INTCON0>; 227*f126890aSEmmanuel Vadot interrupt-controller; 228*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 229*f126890aSEmmanuel Vadot }; 230*f126890aSEmmanuel Vadot 231*f126890aSEmmanuel Vadot power-controller@4b000000 { 232*f126890aSEmmanuel Vadot compatible = "cortina,gemini-power-controller"; 233*f126890aSEmmanuel Vadot reg = <0x4b000000 0x100>; 234*f126890aSEmmanuel Vadot interrupts = <26 IRQ_TYPE_EDGE_RISING>; 235*f126890aSEmmanuel Vadot pinctrl-names = "default"; 236*f126890aSEmmanuel Vadot pinctrl-0 = <&power_default_pins>; 237*f126890aSEmmanuel Vadot }; 238*f126890aSEmmanuel Vadot 239*f126890aSEmmanuel Vadot gpio0: gpio@4d000000 { 240*f126890aSEmmanuel Vadot compatible = "cortina,gemini-gpio", "faraday,ftgpio010"; 241*f126890aSEmmanuel Vadot reg = <0x4d000000 0x100>; 242*f126890aSEmmanuel Vadot interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 243*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_GPIO0>; 244*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>; 245*f126890aSEmmanuel Vadot gpio-controller; 246*f126890aSEmmanuel Vadot #gpio-cells = <2>; 247*f126890aSEmmanuel Vadot interrupt-controller; 248*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 249*f126890aSEmmanuel Vadot }; 250*f126890aSEmmanuel Vadot 251*f126890aSEmmanuel Vadot gpio1: gpio@4e000000 { 252*f126890aSEmmanuel Vadot compatible = "cortina,gemini-gpio", "faraday,ftgpio010"; 253*f126890aSEmmanuel Vadot reg = <0x4e000000 0x100>; 254*f126890aSEmmanuel Vadot interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; 255*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_GPIO1>; 256*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>; 257*f126890aSEmmanuel Vadot gpio-controller; 258*f126890aSEmmanuel Vadot #gpio-cells = <2>; 259*f126890aSEmmanuel Vadot interrupt-controller; 260*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 261*f126890aSEmmanuel Vadot }; 262*f126890aSEmmanuel Vadot 263*f126890aSEmmanuel Vadot gpio2: gpio@4f000000 { 264*f126890aSEmmanuel Vadot compatible = "cortina,gemini-gpio", "faraday,ftgpio010"; 265*f126890aSEmmanuel Vadot reg = <0x4f000000 0x100>; 266*f126890aSEmmanuel Vadot interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; 267*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_GPIO2>; 268*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_APB>; 269*f126890aSEmmanuel Vadot gpio-controller; 270*f126890aSEmmanuel Vadot #gpio-cells = <2>; 271*f126890aSEmmanuel Vadot interrupt-controller; 272*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 273*f126890aSEmmanuel Vadot }; 274*f126890aSEmmanuel Vadot 275*f126890aSEmmanuel Vadot pci@50000000 { 276*f126890aSEmmanuel Vadot compatible = "cortina,gemini-pci", "faraday,ftpci100"; 277*f126890aSEmmanuel Vadot /* 278*f126890aSEmmanuel Vadot * The first 256 bytes in the IO range is actually used 279*f126890aSEmmanuel Vadot * to configure the host bridge. 280*f126890aSEmmanuel Vadot */ 281*f126890aSEmmanuel Vadot reg = <0x50000000 0x100>; 282*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_PCI>; 283*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_PCI>, <&syscon GEMINI_CLK_PCI>; 284*f126890aSEmmanuel Vadot clock-names = "PCLK", "PCICLK"; 285*f126890aSEmmanuel Vadot pinctrl-names = "default"; 286*f126890aSEmmanuel Vadot pinctrl-0 = <&pci_default_pins>; 287*f126890aSEmmanuel Vadot device_type = "pci"; 288*f126890aSEmmanuel Vadot #address-cells = <3>; 289*f126890aSEmmanuel Vadot #size-cells = <2>; 290*f126890aSEmmanuel Vadot status = "disabled"; 291*f126890aSEmmanuel Vadot 292*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 293*f126890aSEmmanuel Vadot interrupt-map-mask = <0xf800 0 0 7>; 294*f126890aSEmmanuel Vadot interrupt-map = 295*f126890aSEmmanuel Vadot <0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */ 296*f126890aSEmmanuel Vadot <0x4800 0 0 2 &pci_intc 1>, 297*f126890aSEmmanuel Vadot <0x4800 0 0 3 &pci_intc 2>, 298*f126890aSEmmanuel Vadot <0x4800 0 0 4 &pci_intc 3>, 299*f126890aSEmmanuel Vadot <0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */ 300*f126890aSEmmanuel Vadot <0x5000 0 0 2 &pci_intc 2>, 301*f126890aSEmmanuel Vadot <0x5000 0 0 3 &pci_intc 3>, 302*f126890aSEmmanuel Vadot <0x5000 0 0 4 &pci_intc 0>, 303*f126890aSEmmanuel Vadot <0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */ 304*f126890aSEmmanuel Vadot <0x5800 0 0 2 &pci_intc 3>, 305*f126890aSEmmanuel Vadot <0x5800 0 0 3 &pci_intc 0>, 306*f126890aSEmmanuel Vadot <0x5800 0 0 4 &pci_intc 1>, 307*f126890aSEmmanuel Vadot <0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */ 308*f126890aSEmmanuel Vadot <0x6000 0 0 2 &pci_intc 0>, 309*f126890aSEmmanuel Vadot <0x6000 0 0 3 &pci_intc 1>, 310*f126890aSEmmanuel Vadot <0x6000 0 0 4 &pci_intc 2>; 311*f126890aSEmmanuel Vadot 312*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 313*f126890aSEmmanuel Vadot /* PCI ranges mappings */ 314*f126890aSEmmanuel Vadot ranges = 315*f126890aSEmmanuel Vadot /* 1MiB I/O space 0x50000000-0x500fffff */ 316*f126890aSEmmanuel Vadot <0x01000000 0 0 0x50000000 0 0x00100000>, 317*f126890aSEmmanuel Vadot /* 128MiB non-prefetchable memory 0x58000000-0x5fffffff */ 318*f126890aSEmmanuel Vadot <0x02000000 0 0x58000000 0x58000000 0 0x08000000>; 319*f126890aSEmmanuel Vadot 320*f126890aSEmmanuel Vadot /* DMA ranges */ 321*f126890aSEmmanuel Vadot dma-ranges = 322*f126890aSEmmanuel Vadot /* 128MiB at 0x00000000-0x07ffffff */ 323*f126890aSEmmanuel Vadot <0x02000000 0 0x00000000 0x00000000 0 0x08000000>, 324*f126890aSEmmanuel Vadot /* 64MiB at 0x00000000-0x03ffffff */ 325*f126890aSEmmanuel Vadot <0x02000000 0 0x00000000 0x00000000 0 0x04000000>, 326*f126890aSEmmanuel Vadot /* 64MiB at 0x00000000-0x03ffffff */ 327*f126890aSEmmanuel Vadot <0x02000000 0 0x00000000 0x00000000 0 0x04000000>; 328*f126890aSEmmanuel Vadot 329*f126890aSEmmanuel Vadot /* 330*f126890aSEmmanuel Vadot * This PCI host bridge variant has a cascaded interrupt 331*f126890aSEmmanuel Vadot * controller embedded in the host bridge. 332*f126890aSEmmanuel Vadot */ 333*f126890aSEmmanuel Vadot pci_intc: interrupt-controller { 334*f126890aSEmmanuel Vadot interrupt-parent = <&intcon>; 335*f126890aSEmmanuel Vadot interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 336*f126890aSEmmanuel Vadot interrupt-controller; 337*f126890aSEmmanuel Vadot #address-cells = <0>; 338*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 339*f126890aSEmmanuel Vadot }; 340*f126890aSEmmanuel Vadot }; 341*f126890aSEmmanuel Vadot 342*f126890aSEmmanuel Vadot ethernet: ethernet@60000000 { 343*f126890aSEmmanuel Vadot compatible = "cortina,gemini-ethernet"; 344*f126890aSEmmanuel Vadot reg = <0x60000000 0x4000>, /* Global registers, queue */ 345*f126890aSEmmanuel Vadot <0x60004000 0x2000>, /* V-bit */ 346*f126890aSEmmanuel Vadot <0x60006000 0x2000>; /* A-bit */ 347*f126890aSEmmanuel Vadot pinctrl-names = "default"; 348*f126890aSEmmanuel Vadot pinctrl-0 = <&gmii_default_pins>; 349*f126890aSEmmanuel Vadot status = "disabled"; 350*f126890aSEmmanuel Vadot #address-cells = <1>; 351*f126890aSEmmanuel Vadot #size-cells = <1>; 352*f126890aSEmmanuel Vadot ranges; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot gmac0: ethernet-port@0 { 355*f126890aSEmmanuel Vadot compatible = "cortina,gemini-ethernet-port"; 356*f126890aSEmmanuel Vadot reg = <0x60008000 0x2000>, /* Port 0 DMA/TOE */ 357*f126890aSEmmanuel Vadot <0x6000a000 0x2000>; /* Port 0 GMAC */ 358*f126890aSEmmanuel Vadot interrupt-parent = <&intcon>; 359*f126890aSEmmanuel Vadot interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 360*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_GMAC0>; 361*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_GMAC0>; 362*f126890aSEmmanuel Vadot clock-names = "PCLK"; 363*f126890aSEmmanuel Vadot }; 364*f126890aSEmmanuel Vadot 365*f126890aSEmmanuel Vadot gmac1: ethernet-port@1 { 366*f126890aSEmmanuel Vadot compatible = "cortina,gemini-ethernet-port"; 367*f126890aSEmmanuel Vadot reg = <0x6000c000 0x2000>, /* Port 1 DMA/TOE */ 368*f126890aSEmmanuel Vadot <0x6000e000 0x2000>; /* Port 1 GMAC */ 369*f126890aSEmmanuel Vadot interrupt-parent = <&intcon>; 370*f126890aSEmmanuel Vadot interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 371*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_GMAC1>; 372*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_GMAC1>; 373*f126890aSEmmanuel Vadot clock-names = "PCLK"; 374*f126890aSEmmanuel Vadot }; 375*f126890aSEmmanuel Vadot }; 376*f126890aSEmmanuel Vadot 377*f126890aSEmmanuel Vadot crypto: crypto@62000000 { 378*f126890aSEmmanuel Vadot compatible = "cortina,sl3516-crypto"; 379*f126890aSEmmanuel Vadot reg = <0x62000000 0x10000>; 380*f126890aSEmmanuel Vadot interrupts = <7 IRQ_TYPE_EDGE_RISING>; 381*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_SECURITY>; 382*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_SECURITY>; 383*f126890aSEmmanuel Vadot }; 384*f126890aSEmmanuel Vadot 385*f126890aSEmmanuel Vadot ide0: ide@63000000 { 386*f126890aSEmmanuel Vadot compatible = "cortina,gemini-pata", "faraday,ftide010"; 387*f126890aSEmmanuel Vadot reg = <0x63000000 0x1000>; 388*f126890aSEmmanuel Vadot interrupts = <4 IRQ_TYPE_EDGE_RISING>; 389*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_IDE>; 390*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_IDE>; 391*f126890aSEmmanuel Vadot clock-names = "PCLK"; 392*f126890aSEmmanuel Vadot sata = <&sata>; 393*f126890aSEmmanuel Vadot status = "disabled"; 394*f126890aSEmmanuel Vadot #address-cells = <1>; 395*f126890aSEmmanuel Vadot #size-cells = <0>; 396*f126890aSEmmanuel Vadot }; 397*f126890aSEmmanuel Vadot 398*f126890aSEmmanuel Vadot ide1: ide@63400000 { 399*f126890aSEmmanuel Vadot compatible = "cortina,gemini-pata", "faraday,ftide010"; 400*f126890aSEmmanuel Vadot reg = <0x63400000 0x1000>; 401*f126890aSEmmanuel Vadot interrupts = <5 IRQ_TYPE_EDGE_RISING>; 402*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_IDE>; 403*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_IDE>; 404*f126890aSEmmanuel Vadot clock-names = "PCLK"; 405*f126890aSEmmanuel Vadot sata = <&sata>; 406*f126890aSEmmanuel Vadot status = "disabled"; 407*f126890aSEmmanuel Vadot #address-cells = <1>; 408*f126890aSEmmanuel Vadot #size-cells = <0>; 409*f126890aSEmmanuel Vadot }; 410*f126890aSEmmanuel Vadot 411*f126890aSEmmanuel Vadot dma-controller@67000000 { 412*f126890aSEmmanuel Vadot compatible = "faraday,ftdma020", "arm,pl080", "arm,primecell"; 413*f126890aSEmmanuel Vadot /* Faraday Technology FTDMAC020 variant */ 414*f126890aSEmmanuel Vadot arm,primecell-periphid = <0x0003b080>; 415*f126890aSEmmanuel Vadot reg = <0x67000000 0x1000>; 416*f126890aSEmmanuel Vadot interrupts = <9 IRQ_TYPE_EDGE_RISING>; 417*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_DMAC>; 418*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_AHB>; 419*f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 420*f126890aSEmmanuel Vadot /* Bus interface AHB1 (AHB0) is totally tilted */ 421*f126890aSEmmanuel Vadot lli-bus-interface-ahb2; 422*f126890aSEmmanuel Vadot mem-bus-interface-ahb2; 423*f126890aSEmmanuel Vadot memcpy-burst-size = <256>; 424*f126890aSEmmanuel Vadot memcpy-bus-width = <32>; 425*f126890aSEmmanuel Vadot #dma-cells = <2>; 426*f126890aSEmmanuel Vadot }; 427*f126890aSEmmanuel Vadot 428*f126890aSEmmanuel Vadot display-controller@6a000000 { 429*f126890aSEmmanuel Vadot compatible = "cortina,gemini-tvc", "faraday,tve200"; 430*f126890aSEmmanuel Vadot reg = <0x6a000000 0x1000>; 431*f126890aSEmmanuel Vadot interrupts = <13 IRQ_TYPE_EDGE_RISING>; 432*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_TVC>; 433*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_TVC>, 434*f126890aSEmmanuel Vadot <&syscon GEMINI_CLK_TVC>; 435*f126890aSEmmanuel Vadot clock-names = "PCLK", "TVE"; 436*f126890aSEmmanuel Vadot pinctrl-names = "default"; 437*f126890aSEmmanuel Vadot pinctrl-0 = <&tvc_default_pins>; 438*f126890aSEmmanuel Vadot status = "disabled"; 439*f126890aSEmmanuel Vadot }; 440*f126890aSEmmanuel Vadot 441*f126890aSEmmanuel Vadot usb0: usb@68000000 { 442*f126890aSEmmanuel Vadot compatible = "cortina,gemini-usb", "faraday,fotg200"; 443*f126890aSEmmanuel Vadot reg = <0x68000000 0x1000>; 444*f126890aSEmmanuel Vadot interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; 445*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_USB0>; 446*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_USB0>; 447*f126890aSEmmanuel Vadot clock-names = "PCLK"; 448*f126890aSEmmanuel Vadot /* 449*f126890aSEmmanuel Vadot * This will claim pins for USB0 and USB1 at the same 450*f126890aSEmmanuel Vadot * time as they are using some common pins. If you for 451*f126890aSEmmanuel Vadot * some reason have a system using USB1 at 96000000 but 452*f126890aSEmmanuel Vadot * NOT using USB0 at 68000000 you wll have to add the 453*f126890aSEmmanuel Vadot * usb_default_pins to the USB controller at 96000000 454*f126890aSEmmanuel Vadot * in your .dts for the board. 455*f126890aSEmmanuel Vadot */ 456*f126890aSEmmanuel Vadot pinctrl-names = "default"; 457*f126890aSEmmanuel Vadot pinctrl-0 = <&usb_default_pins>; 458*f126890aSEmmanuel Vadot /* Default to host mode */ 459*f126890aSEmmanuel Vadot dr_mode = "host"; 460*f126890aSEmmanuel Vadot syscon = <&syscon>; 461*f126890aSEmmanuel Vadot status = "disabled"; 462*f126890aSEmmanuel Vadot }; 463*f126890aSEmmanuel Vadot 464*f126890aSEmmanuel Vadot usb1: usb@69000000 { 465*f126890aSEmmanuel Vadot compatible = "cortina,gemini-usb", "faraday,fotg200"; 466*f126890aSEmmanuel Vadot reg = <0x69000000 0x1000>; 467*f126890aSEmmanuel Vadot interrupts = <11 IRQ_TYPE_LEVEL_HIGH>; 468*f126890aSEmmanuel Vadot resets = <&syscon GEMINI_RESET_USB1>; 469*f126890aSEmmanuel Vadot clocks = <&syscon GEMINI_CLK_GATE_USB1>; 470*f126890aSEmmanuel Vadot clock-names = "PCLK"; 471*f126890aSEmmanuel Vadot syscon = <&syscon>; 472*f126890aSEmmanuel Vadot status = "disabled"; 473*f126890aSEmmanuel Vadot }; 474*f126890aSEmmanuel Vadot }; 475*f126890aSEmmanuel Vadot}; 476