cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bcm7425.dtsi (14150B)


      1// SPDX-License-Identifier: GPL-2.0
      2/ {
      3	#address-cells = <1>;
      4	#size-cells = <1>;
      5	compatible = "brcm,bcm7425";
      6
      7	cpus {
      8		#address-cells = <1>;
      9		#size-cells = <0>;
     10
     11		mips-hpt-frequency = <163125000>;
     12
     13		cpu@0 {
     14			compatible = "brcm,bmips5000";
     15			device_type = "cpu";
     16			reg = <0>;
     17		};
     18
     19		cpu@1 {
     20			compatible = "brcm,bmips5000";
     21			device_type = "cpu";
     22			reg = <1>;
     23		};
     24	};
     25
     26	aliases {
     27		uart0 = &uart0;
     28	};
     29
     30	cpu_intc: interrupt-controller {
     31		#address-cells = <0>;
     32		compatible = "mti,cpu-interrupt-controller";
     33
     34		interrupt-controller;
     35		#interrupt-cells = <1>;
     36	};
     37
     38	clocks {
     39		uart_clk: uart_clk {
     40			compatible = "fixed-clock";
     41			#clock-cells = <0>;
     42			clock-frequency = <81000000>;
     43		};
     44
     45		upg_clk: upg_clk {
     46			compatible = "fixed-clock";
     47			#clock-cells = <0>;
     48			clock-frequency = <27000000>;
     49		};
     50	};
     51
     52	rdb {
     53		#address-cells = <1>;
     54		#size-cells = <1>;
     55
     56		compatible = "simple-bus";
     57		ranges = <0 0x10000000 0x01000000>;
     58
     59		periph_intc: interrupt-controller@41a400 {
     60			compatible = "brcm,bcm7038-l1-intc";
     61			reg = <0x41a400 0x30>, <0x41a600 0x30>;
     62
     63			interrupt-controller;
     64			#interrupt-cells = <1>;
     65
     66			interrupt-parent = <&cpu_intc>;
     67			interrupts = <2>, <3>;
     68		};
     69
     70		sun_l2_intc: interrupt-controller@403000 {
     71			compatible = "brcm,l2-intc";
     72			reg = <0x403000 0x30>;
     73			interrupt-controller;
     74			#interrupt-cells = <1>;
     75			interrupt-parent = <&periph_intc>;
     76			interrupts = <47>;
     77		};
     78
     79		gisb-arb@400000 {
     80			compatible = "brcm,bcm7400-gisb-arb";
     81			reg = <0x400000 0xdc>;
     82			native-endian;
     83			interrupt-parent = <&sun_l2_intc>;
     84			interrupts = <0>, <2>;
     85			brcm,gisb-arb-master-mask = <0x177b>;
     86			brcm,gisb-arb-master-names = "ssp_0", "cpu_0", "pcie_0",
     87						     "bsp_0", "rdc_0",
     88						     "raaga_0", "avd_1",
     89						     "jtag_0", "svd_0",
     90						     "vice_0";
     91		};
     92
     93		upg_irq0_intc: interrupt-controller@406780 {
     94			compatible = "brcm,bcm7120-l2-intc";
     95			reg = <0x406780 0x8>;
     96
     97			brcm,int-map-mask = <0x44>, <0x7000000>;
     98			brcm,int-fwd-mask = <0x70000>;
     99
    100			interrupt-controller;
    101			#interrupt-cells = <1>;
    102
    103			interrupt-parent = <&periph_intc>;
    104			interrupts = <55>, <53>;
    105			interrupt-names = "upg_main", "upg_bsc";
    106		};
    107
    108		upg_aon_irq0_intc: interrupt-controller@409480 {
    109			compatible = "brcm,bcm7120-l2-intc";
    110			reg = <0x409480 0x8>;
    111
    112			brcm,int-map-mask = <0x40>, <0x18000000>, <0x100000>;
    113			brcm,int-fwd-mask = <0>;
    114			brcm,irq-can-wake;
    115
    116			interrupt-controller;
    117			#interrupt-cells = <1>;
    118
    119			interrupt-parent = <&periph_intc>;
    120			interrupts = <56>, <54>, <59>;
    121			interrupt-names = "upg_main_aon", "upg_bsc_aon",
    122					  "upg_spi";
    123		};
    124
    125		sun_top_ctrl: syscon@404000 {
    126			compatible = "brcm,bcm7425-sun-top-ctrl", "syscon";
    127			reg = <0x404000 0x51c>;
    128			native-endian;
    129		};
    130
    131		reboot {
    132			compatible = "brcm,brcmstb-reboot";
    133			syscon = <&sun_top_ctrl 0x304 0x308>;
    134		};
    135
    136		uart0: serial@406b00 {
    137			compatible = "ns16550a";
    138			reg = <0x406b00 0x20>;
    139			reg-io-width = <0x4>;
    140			reg-shift = <0x2>;
    141			interrupt-parent = <&periph_intc>;
    142			interrupts = <61>;
    143			clocks = <&uart_clk>;
    144			status = "disabled";
    145		};
    146
    147		uart1: serial@406b40 {
    148			compatible = "ns16550a";
    149			reg = <0x406b40 0x20>;
    150			reg-io-width = <0x4>;
    151			reg-shift = <0x2>;
    152			interrupt-parent = <&periph_intc>;
    153			interrupts = <62>;
    154			clocks = <&uart_clk>;
    155			status = "disabled";
    156		};
    157
    158		uart2: serial@406b80 {
    159			compatible = "ns16550a";
    160			reg = <0x406b80 0x20>;
    161			reg-io-width = <0x4>;
    162			reg-shift = <0x2>;
    163			interrupt-parent = <&periph_intc>;
    164			interrupts = <63>;
    165			clocks = <&uart_clk>;
    166			status = "disabled";
    167		};
    168
    169		bsca: i2c@409180 {
    170		      clock-frequency = <390000>;
    171		      compatible = "brcm,brcmstb-i2c";
    172		      interrupt-parent = <&upg_aon_irq0_intc>;
    173		      reg = <0x409180 0x58>;
    174		      interrupts = <27>;
    175		      interrupt-names = "upg_bsca";
    176		      status = "disabled";
    177		};
    178
    179		bscb: i2c@409400 {
    180		      clock-frequency = <390000>;
    181		      compatible = "brcm,brcmstb-i2c";
    182		      interrupt-parent = <&upg_aon_irq0_intc>;
    183		      reg = <0x409400 0x58>;
    184		      interrupts = <28>;
    185		      interrupt-names = "upg_bscb";
    186		      status = "disabled";
    187		};
    188
    189		bscc: i2c@406200 {
    190		      clock-frequency = <390000>;
    191		      compatible = "brcm,brcmstb-i2c";
    192		      interrupt-parent = <&upg_irq0_intc>;
    193		      reg = <0x406200 0x58>;
    194		      interrupts = <24>;
    195		      interrupt-names = "upg_bscc";
    196		      status = "disabled";
    197		};
    198
    199		bscd: i2c@406280 {
    200		      clock-frequency = <390000>;
    201		      compatible = "brcm,brcmstb-i2c";
    202		      interrupt-parent = <&upg_irq0_intc>;
    203		      reg = <0x406280 0x58>;
    204		      interrupts = <25>;
    205		      interrupt-names = "upg_bscd";
    206		      status = "disabled";
    207		};
    208
    209		bsce: i2c@406300 {
    210		      clock-frequency = <390000>;
    211		      compatible = "brcm,brcmstb-i2c";
    212		      interrupt-parent = <&upg_irq0_intc>;
    213		      reg = <0x406300 0x58>;
    214		      interrupts = <26>;
    215		      interrupt-names = "upg_bsce";
    216		      status = "disabled";
    217		};
    218
    219		pwma: pwm@406580 {
    220			compatible = "brcm,bcm7038-pwm";
    221			reg = <0x406580 0x28>;
    222			#pwm-cells = <2>;
    223			clocks = <&upg_clk>;
    224			status = "disabled";
    225		};
    226
    227		pwmb: pwm@406800 {
    228			compatible = "brcm,bcm7038-pwm";
    229			reg = <0x406800 0x28>;
    230			#pwm-cells = <2>;
    231			clocks = <&upg_clk>;
    232			status = "disabled";
    233		};
    234
    235		watchdog: watchdog@4067e8 {
    236			clocks = <&upg_clk>;
    237			compatible = "brcm,bcm7038-wdt";
    238			reg = <0x4067e8 0x14>;
    239			status = "disabled";
    240		};
    241
    242		aon_pm_l2_intc: interrupt-controller@408440 {
    243			compatible = "brcm,l2-intc";
    244			reg = <0x408440 0x30>;
    245			interrupt-controller;
    246			#interrupt-cells = <1>;
    247			interrupt-parent = <&periph_intc>;
    248			interrupts = <49>;
    249			brcm,irq-can-wake;
    250		};
    251
    252		aon_ctrl: syscon@408000 {
    253			compatible = "brcm,brcmstb-aon-ctrl";
    254			reg = <0x408000 0x100>, <0x408200 0x200>;
    255			reg-names = "aon-ctrl", "aon-sram";
    256		};
    257
    258		timers: timer@4067c0 {
    259			compatible = "brcm,brcmstb-timers";
    260			reg = <0x4067c0 0x40>;
    261		};
    262
    263		upg_gio: gpio@406700 {
    264			compatible = "brcm,brcmstb-gpio";
    265			reg = <0x406700 0x80>;
    266			#gpio-cells = <2>;
    267			#interrupt-cells = <2>;
    268			gpio-controller;
    269			interrupt-controller;
    270			interrupt-parent = <&upg_irq0_intc>;
    271			interrupts = <6>;
    272			brcm,gpio-bank-widths = <32 32 32 21>;
    273		};
    274
    275		upg_gio_aon: gpio@4094c0 {
    276			compatible = "brcm,brcmstb-gpio";
    277			reg = <0x4094c0 0x40>;
    278			#gpio-cells = <2>;
    279			#interrupt-cells = <2>;
    280			gpio-controller;
    281			interrupt-controller;
    282			interrupt-parent = <&upg_aon_irq0_intc>;
    283			interrupts = <6>;
    284			interrupts-extended = <&upg_aon_irq0_intc 6>,
    285					      <&aon_pm_l2_intc 5>;
    286			wakeup-source;
    287			brcm,gpio-bank-widths = <18 4>;
    288		};
    289
    290		enet0: ethernet@b80000 {
    291			phy-mode = "internal";
    292			phy-handle = <&phy1>;
    293			mac-address = [ 00 10 18 36 23 1a ];
    294			compatible = "brcm,genet-v3";
    295			#address-cells = <0x1>;
    296			#size-cells = <0x1>;
    297			reg = <0xb80000 0x11c88>;
    298			interrupts = <17>, <18>;
    299			interrupt-parent = <&periph_intc>;
    300			status = "disabled";
    301
    302			mdio@e14 {
    303				compatible = "brcm,genet-mdio-v3";
    304				#address-cells = <0x1>;
    305				#size-cells = <0x0>;
    306				reg = <0xe14 0x8>;
    307
    308				phy1: ethernet-phy@1 {
    309					max-speed = <100>;
    310					reg = <0x1>;
    311					compatible = "brcm,40nm-ephy",
    312						"ethernet-phy-ieee802.3-c22";
    313				};
    314			};
    315		};
    316
    317		ehci0: usb@480300 {
    318			compatible = "brcm,bcm7425-ehci", "generic-ehci";
    319			reg = <0x480300 0x100>;
    320			native-endian;
    321			interrupt-parent = <&periph_intc>;
    322			interrupts = <65>;
    323			status = "disabled";
    324		};
    325
    326		ohci0: usb@480400 {
    327			compatible = "brcm,bcm7425-ohci", "generic-ohci";
    328			reg = <0x480400 0x100>;
    329			native-endian;
    330			no-big-frame-no;
    331			interrupt-parent = <&periph_intc>;
    332			interrupts = <67>;
    333			status = "disabled";
    334		};
    335
    336		ehci1: usb@480500 {
    337			compatible = "brcm,bcm7425-ehci", "generic-ehci";
    338			reg = <0x480500 0x100>;
    339			native-endian;
    340			interrupt-parent = <&periph_intc>;
    341			interrupts = <66>;
    342			status = "disabled";
    343		};
    344
    345		ohci1: usb@480600 {
    346			compatible = "brcm,bcm7425-ohci", "generic-ohci";
    347			reg = <0x480600 0x100>;
    348			native-endian;
    349			no-big-frame-no;
    350			interrupt-parent = <&periph_intc>;
    351			interrupts = <68>;
    352			status = "disabled";
    353		};
    354
    355		ehci2: usb@490300 {
    356			compatible = "brcm,bcm7425-ehci", "generic-ehci";
    357			reg = <0x490300 0x100>;
    358			native-endian;
    359			interrupt-parent = <&periph_intc>;
    360			interrupts = <70>;
    361			status = "disabled";
    362		};
    363
    364		ohci2: usb@490400 {
    365			compatible = "brcm,bcm7425-ohci", "generic-ohci";
    366			reg = <0x490400 0x100>;
    367			native-endian;
    368			no-big-frame-no;
    369			interrupt-parent = <&periph_intc>;
    370			interrupts = <72>;
    371			status = "disabled";
    372		};
    373
    374		ehci3: usb@490500 {
    375			compatible = "brcm,bcm7425-ehci", "generic-ehci";
    376			reg = <0x490500 0x100>;
    377			native-endian;
    378			interrupt-parent = <&periph_intc>;
    379			interrupts = <71>;
    380			status = "disabled";
    381		};
    382
    383		ohci3: usb@490600 {
    384			compatible = "brcm,bcm7425-ohci", "generic-ohci";
    385			reg = <0x490600 0x100>;
    386			native-endian;
    387			no-big-frame-no;
    388			interrupt-parent = <&periph_intc>;
    389			interrupts = <73>;
    390			status = "disabled";
    391		};
    392
    393		hif_l2_intc: interrupt-controller@41a000 {
    394			compatible = "brcm,l2-intc";
    395			reg = <0x41a000 0x30>;
    396			interrupt-controller;
    397			#interrupt-cells = <1>;
    398			interrupt-parent = <&periph_intc>;
    399			interrupts = <24>;
    400		};
    401
    402		nand: nand@41b800 {
    403			compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
    404			#address-cells = <1>;
    405			#size-cells = <0>;
    406			reg-names = "nand", "flash-edu";
    407			reg = <0x41b800 0x400>, <0x41bc00 0x24>;
    408			interrupt-parent = <&hif_l2_intc>;
    409			interrupts = <24>;
    410			status = "disabled";
    411		};
    412
    413		sata: sata@181000 {
    414			compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
    415			reg-names = "ahci", "top-ctrl";
    416			reg = <0x181000 0xa9c>, <0x180020 0x1c>;
    417			interrupt-parent = <&periph_intc>;
    418			interrupts = <41>;
    419			#address-cells = <1>;
    420			#size-cells = <0>;
    421			status = "disabled";
    422
    423			sata0: sata-port@0 {
    424				reg = <0>;
    425				phys = <&sata_phy0>;
    426			};
    427
    428			sata1: sata-port@1 {
    429				reg = <1>;
    430				phys = <&sata_phy1>;
    431			};
    432		};
    433
    434		sata_phy: sata-phy@180100 {
    435			compatible = "brcm,bcm7425-sata-phy", "brcm,phy-sata3";
    436			reg = <0x180100 0x0eff>;
    437			reg-names = "phy";
    438			#address-cells = <1>;
    439			#size-cells = <0>;
    440			status = "disabled";
    441
    442			sata_phy0: sata-phy@0 {
    443				reg = <0>;
    444				#phy-cells = <0>;
    445			};
    446
    447			sata_phy1: sata-phy@1 {
    448				reg = <1>;
    449				#phy-cells = <0>;
    450			};
    451		};
    452
    453		sdhci0: sdhci@419000 {
    454			compatible = "brcm,bcm7425-sdhci";
    455			reg = <0x419000 0x100>;
    456			interrupt-parent = <&periph_intc>;
    457			interrupts = <43>;
    458			sd-uhs-sdr50;
    459			mmc-hs200-1_8v;
    460			status = "disabled";
    461		};
    462
    463		sdhci1: sdhci@419200 {
    464			compatible = "brcm,bcm7425-sdhci";
    465			reg = <0x419200 0x100>;
    466			interrupt-parent = <&periph_intc>;
    467			interrupts = <44>;
    468			sd-uhs-sdr50;
    469			mmc-hs200-1_8v;
    470			status = "disabled";
    471		};
    472
    473		spi_l2_intc: interrupt-controller@41ad00 {
    474			compatible = "brcm,l2-intc";
    475			reg = <0x41ad00 0x30>;
    476			interrupt-controller;
    477			#interrupt-cells = <1>;
    478			interrupt-parent = <&periph_intc>;
    479			interrupts = <25>;
    480		};
    481
    482		qspi: spi@41c000 {
    483			#address-cells = <0x1>;
    484			#size-cells = <0x0>;
    485			compatible = "brcm,spi-bcm-qspi",
    486				     "brcm,spi-brcmstb-qspi";
    487			clocks = <&upg_clk>;
    488			reg = <0x419920 0x4 0x41c200 0x188 0x41c000 0x50>;
    489			reg-names = "cs_reg", "hif_mspi", "bspi";
    490			interrupts = <0x0 0x1 0x2 0x3 0x4 0x5 0x6>;
    491			interrupt-parent = <&spi_l2_intc>;
    492			interrupt-names = "spi_lr_fullness_reached",
    493					  "spi_lr_session_aborted",
    494					  "spi_lr_impatient",
    495					  "spi_lr_session_done",
    496					  "spi_lr_overread",
    497					  "mspi_done",
    498					  "mspi_halted";
    499			status = "disabled";
    500		};
    501
    502		mspi: spi@409200 {
    503			#address-cells = <1>;
    504			#size-cells = <0>;
    505			compatible = "brcm,spi-bcm-qspi",
    506				     "brcm,spi-brcmstb-mspi";
    507			clocks = <&upg_clk>;
    508			reg = <0x409200 0x180>;
    509			reg-names = "mspi";
    510			interrupts = <0x14>;
    511			interrupt-parent = <&upg_aon_irq0_intc>;
    512			interrupt-names = "mspi_done";
    513			status = "disabled";
    514		};
    515
    516		waketimer: waketimer@409580 {
    517			compatible = "brcm,brcmstb-waketimer";
    518			reg = <0x409580 0x14>;
    519			interrupts = <0x3>;
    520			interrupt-parent = <&aon_pm_l2_intc>;
    521			interrupt-names = "timer";
    522			clocks = <&upg_clk>;
    523			status = "disabled";
    524		};
    525	};
    526
    527	memory_controllers {
    528		compatible = "simple-bus";
    529		ranges = <0x0 0x103b0000 0x1a000>;
    530		#address-cells = <1>;
    531		#size-cells = <1>;
    532
    533		memory-controller@0 {
    534			compatible = "brcm,brcmstb-memc", "simple-bus";
    535			ranges = <0x0 0x0 0xa000>;
    536			#address-cells = <1>;
    537			#size-cells = <1>;
    538
    539			memc-arb@1000 {
    540				compatible = "brcm,brcmstb-memc-arb";
    541				reg = <0x1000 0x248>;
    542			};
    543
    544			memc-ddr@2000 {
    545				compatible = "brcm,brcmstb-memc-ddr";
    546				reg = <0x2000 0x300>;
    547			};
    548
    549			ddr-phy@6000 {
    550				compatible = "brcm,brcmstb-ddr-phy";
    551				reg = <0x6000 0xc8>;
    552			};
    553
    554			shimphy@8000 {
    555				compatible = "brcm,brcmstb-ddr-shimphy";
    556				reg = <0x8000 0x13c>;
    557			};
    558		};
    559
    560		memory-controller@1 {
    561			compatible = "brcm,brcmstb-memc", "simple-bus";
    562			ranges = <0x0 0x10000 0xa000>;
    563			#address-cells = <1>;
    564			#size-cells = <1>;
    565
    566			memc-arb@1000 {
    567				compatible = "brcm,brcmstb-memc-arb";
    568				reg = <0x1000 0x248>;
    569			};
    570
    571			memc-ddr@2000 {
    572				compatible = "brcm,brcmstb-memc-ddr";
    573				reg = <0x2000 0x300>;
    574			};
    575
    576			ddr-phy@6000 {
    577				compatible = "brcm,brcmstb-ddr-phy";
    578				reg = <0x6000 0xc8>;
    579			};
    580
    581			shimphy@8000 {
    582				compatible = "brcm,brcmstb-ddr-shimphy";
    583				reg = <0x8000 0x13c>;
    584			};
    585		};
    586	};
    587
    588	pcie_0: pcie@8b20000 {
    589		status = "disabled";
    590		compatible = "brcm,bcm7425-pcie";
    591
    592		ranges = <0x02000000 0x0 0xd0000000 0xd0000000 0x0 0x08000000
    593			  0x02000000 0x0 0xd8000000 0xd8000000 0x0 0x08000000
    594			  0x02000000 0x0 0xe0000000 0xe0000000 0x0 0x08000000
    595			  0x02000000 0x0 0xe8000000 0xe8000000 0x0 0x08000000>;
    596
    597		reg = <0x10410000 0x19310>;
    598		aspm-no-l0s;
    599		device_type = "pci";
    600		msi-controller;
    601		msi-parent = <&pcie_0>;
    602		#address-cells = <0x3>;
    603		#size-cells = <0x2>;
    604		bus-range = <0x0 0xff>;
    605		interrupt-map-mask = <0x0 0x0 0x0 0x7>;
    606		linux,pci-domain = <0x0>;
    607
    608		interrupt-parent = <&periph_intc>;
    609		interrupts = <37>, <37>;
    610		interrupt-names = "pcie", "msi";
    611		#interrupt-cells = <0x1>;
    612		interrupt-map = <0 0 0 1 &periph_intc 0x21
    613				 0 0 0 1 &periph_intc 0x22
    614				 0 0 0 1 &periph_intc 0x23
    615				 0 0 0 1 &periph_intc 0x24>;
    616	};
    617};