162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci#include "versatile-ab.dts" 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci/ { 562306a36Sopenharmony_ci model = "ARM Versatile PB"; 662306a36Sopenharmony_ci compatible = "arm,versatile-pb"; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci amba { 962306a36Sopenharmony_ci /* The Versatile PB is using more SIC IRQ lines than the AB */ 1062306a36Sopenharmony_ci sic: interrupt-controller@10003000 { 1162306a36Sopenharmony_ci clear-mask = <0xffffffff>; 1262306a36Sopenharmony_ci /* 1362306a36Sopenharmony_ci * Valid interrupt lines mask according to 1462306a36Sopenharmony_ci * figure 3-30 page 3-74 of ARM DUI 0224B 1562306a36Sopenharmony_ci */ 1662306a36Sopenharmony_ci valid-mask = <0x7fe003ff>; 1762306a36Sopenharmony_ci }; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci gpio2: gpio@101e6000 { 2062306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 2162306a36Sopenharmony_ci reg = <0x101e6000 0x1000>; 2262306a36Sopenharmony_ci interrupts = <8>; 2362306a36Sopenharmony_ci gpio-controller; 2462306a36Sopenharmony_ci #gpio-cells = <2>; 2562306a36Sopenharmony_ci interrupt-controller; 2662306a36Sopenharmony_ci #interrupt-cells = <2>; 2762306a36Sopenharmony_ci clocks = <&pclk>; 2862306a36Sopenharmony_ci clock-names = "apb_pclk"; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci gpio3: gpio@101e7000 { 3262306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 3362306a36Sopenharmony_ci reg = <0x101e7000 0x1000>; 3462306a36Sopenharmony_ci interrupts = <9>; 3562306a36Sopenharmony_ci gpio-controller; 3662306a36Sopenharmony_ci #gpio-cells = <2>; 3762306a36Sopenharmony_ci interrupt-controller; 3862306a36Sopenharmony_ci #interrupt-cells = <2>; 3962306a36Sopenharmony_ci clocks = <&pclk>; 4062306a36Sopenharmony_ci clock-names = "apb_pclk"; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci pci@10001000 { 4462306a36Sopenharmony_ci compatible = "arm,versatile-pci"; 4562306a36Sopenharmony_ci device_type = "pci"; 4662306a36Sopenharmony_ci reg = <0x10001000 0x1000 4762306a36Sopenharmony_ci 0x41000000 0x10000 4862306a36Sopenharmony_ci 0x42000000 0x100000>; 4962306a36Sopenharmony_ci bus-range = <0 0xff>; 5062306a36Sopenharmony_ci #address-cells = <3>; 5162306a36Sopenharmony_ci #size-cells = <2>; 5262306a36Sopenharmony_ci #interrupt-cells = <1>; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */ 5562306a36Sopenharmony_ci 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */ 5662306a36Sopenharmony_ci 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */ 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci interrupt-map-mask = <0x1800 0 0 7>; 5962306a36Sopenharmony_ci interrupt-map = <0x1800 0 0 1 &sic 28 6062306a36Sopenharmony_ci 0x1800 0 0 2 &sic 29 6162306a36Sopenharmony_ci 0x1800 0 0 3 &sic 30 6262306a36Sopenharmony_ci 0x1800 0 0 4 &sic 27 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci 0x1000 0 0 1 &sic 27 6562306a36Sopenharmony_ci 0x1000 0 0 2 &sic 28 6662306a36Sopenharmony_ci 0x1000 0 0 3 &sic 29 6762306a36Sopenharmony_ci 0x1000 0 0 4 &sic 30 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci 0x0800 0 0 1 &sic 30 7062306a36Sopenharmony_ci 0x0800 0 0 2 &sic 27 7162306a36Sopenharmony_ci 0x0800 0 0 3 &sic 28 7262306a36Sopenharmony_ci 0x0800 0 0 4 &sic 29 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci 0x0000 0 0 1 &sic 29 7562306a36Sopenharmony_ci 0x0000 0 0 2 &sic 30 7662306a36Sopenharmony_ci 0x0000 0 0 3 &sic 27 7762306a36Sopenharmony_ci 0x0000 0 0 4 &sic 28>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci fpga { 8162306a36Sopenharmony_ci mmc@5000 { 8262306a36Sopenharmony_ci /* 8362306a36Sopenharmony_ci * Overrides the interrupt assignment from 8462306a36Sopenharmony_ci * the Versatile AB board file. 8562306a36Sopenharmony_ci */ 8662306a36Sopenharmony_ci interrupts-extended = <&sic 22 &sic 23>; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci serial@9000 { 8962306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 9062306a36Sopenharmony_ci reg = <0x9000 0x1000>; 9162306a36Sopenharmony_ci interrupt-parent = <&sic>; 9262306a36Sopenharmony_ci interrupts = <6>; 9362306a36Sopenharmony_ci clocks = <&xtal24mhz>, <&pclk>; 9462306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci sci@a000 { 9762306a36Sopenharmony_ci compatible = "arm,primecell"; 9862306a36Sopenharmony_ci reg = <0xa000 0x1000>; 9962306a36Sopenharmony_ci interrupt-parent = <&sic>; 10062306a36Sopenharmony_ci interrupts = <5>; 10162306a36Sopenharmony_ci clocks = <&xtal24mhz>; 10262306a36Sopenharmony_ci clock-names = "apb_pclk"; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci mmc@b000 { 10562306a36Sopenharmony_ci compatible = "arm,pl180", "arm,primecell"; 10662306a36Sopenharmony_ci reg = <0xb000 0x1000>; 10762306a36Sopenharmony_ci interrupt-parent = <&sic>; 10862306a36Sopenharmony_ci interrupts = <1>, <2>; 10962306a36Sopenharmony_ci clocks = <&xtal24mhz>, <&pclk>; 11062306a36Sopenharmony_ci clock-names = "mclk", "apb_pclk"; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci}; 115