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

fsp2.dts (13095B)


      1/*
      2 * Device Tree Source for FSP2
      3 *
      4 * Copyright 2010,2012 IBM Corp.
      5 *
      6 * This file is licensed under the terms of the GNU General Public
      7 * License version 2.  This program is licensed "as is" without
      8 * any warranty of any kind, whether express or implied.
      9 */
     10
     11
     12/dts-v1/;
     13
     14/ {
     15	#address-cells = <2>;
     16	#size-cells = <1>;
     17	model = "ibm,fsp2";
     18	compatible = "ibm,fsp2";
     19	dcr-parent = <&{/cpus/cpu@0}>;
     20
     21	aliases {
     22		ethernet0 = &EMAC0;
     23		ethernet1 = &EMAC1;
     24		serial0 = &UART0;
     25	};
     26
     27	cpus {
     28		#address-cells = <1>;
     29		#size-cells = <0>;
     30
     31		cpu@0 {
     32			device_type = "cpu";
     33			model = "PowerPC, 476FSP2";
     34			reg = <0x0>;
     35			clock-frequency = <0>;    /* Filled in by cuboot */
     36			timebase-frequency = <0>; /* Filled in by cuboot */
     37			i-cache-line-size = <32>;
     38			d-cache-line-size = <32>;
     39			d-cache-size = <32768>;
     40			i-cache-size = <32768>;
     41			dcr-controller;
     42			dcr-access-method = "native";
     43		};
     44	};
     45
     46	memory {
     47		device_type = "memory";
     48		reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by
     49							     cuboot */
     50	};
     51
     52	clocks {
     53		mmc_clk: mmc_clk {
     54			compatible = "fixed-clock";
     55			#clock-cells = <0>;
     56			clock-frequency = <50000000>;
     57			clock-output-names = "mmc_clk";
     58		};
     59	};
     60
     61	UIC0: uic0 {
     62		#address-cells = <0>;
     63		#size-cells = <0>;
     64		#interrupt-cells = <2>;
     65		compatible = "ibm,uic";
     66		interrupt-controller;
     67		cell-index = <0>;
     68		dcr-reg = <0x2c0 0x8>;
     69	};
     70
     71	/* "interrupts" field is <bit level bit level>
     72	   first pair is non-critical, second is critical */
     73	UIC1_0: uic1_0 {
     74		#address-cells = <0>;
     75		#size-cells = <0>;
     76		#interrupt-cells = <2>;
     77
     78		compatible = "ibm,uic";
     79		interrupt-controller;
     80		cell-index = <1>;
     81		dcr-reg = <0x2c8 0x8>;
     82		interrupt-parent = <&UIC0>;
     83		interrupts = <21 0x4 4 0x84>;
     84	};
     85
     86	/* PSI and DMA */
     87	UIC1_1: uic1_1 {
     88		#address-cells = <0>;
     89		#size-cells = <0>;
     90		#interrupt-cells = <2>;
     91
     92		compatible = "ibm,uic";
     93		interrupt-controller;
     94		cell-index = <2>;
     95		dcr-reg = <0x350 0x8>;
     96		interrupt-parent = <&UIC0>;
     97		interrupts = <22 0x4 5 0x84>;
     98	};
     99
    100	/* Ethernet and USB */
    101	UIC1_2: uic1_2 {
    102		#address-cells = <0>;
    103		#size-cells = <0>;
    104		#interrupt-cells = <2>;
    105
    106		compatible = "ibm,uic";
    107		interrupt-controller;
    108		cell-index = <3>;
    109		dcr-reg = <0x358 0x8>;
    110		interrupt-parent = <&UIC0>;
    111		interrupts = <23 0x4 6 0x84>;
    112	};
    113
    114	/* PLB Errors */
    115	UIC1_3: uic1_3 {
    116		#address-cells = <0>;
    117		#size-cells = <0>;
    118		#interrupt-cells = <2>;
    119
    120		compatible = "ibm,uic";
    121		interrupt-controller;
    122		cell-index = <4>;
    123		dcr-reg = <0x360 0x8>;
    124		interrupt-parent = <&UIC0>;
    125		interrupts = <24 0x4 7 0x84>;
    126	};
    127
    128	UIC1_4: uic1_4 {
    129		#address-cells = <0>;
    130		#size-cells = <0>;
    131		#interrupt-cells = <2>;
    132
    133		compatible = "ibm,uic";
    134		interrupt-controller;
    135		cell-index = <5>;
    136		dcr-reg = <0x368 0x8>;
    137		interrupt-parent = <&UIC0>;
    138		interrupts = <25 0x4 8 0x84>;
    139	};
    140
    141	UIC1_5: uic1_5 {
    142		#address-cells = <0>;
    143		#size-cells = <0>;
    144		#interrupt-cells = <2>;
    145
    146		compatible = "ibm,uic";
    147		interrupt-controller;
    148		cell-index = <6>;
    149		dcr-reg = <0x370 0x8>;
    150		interrupt-parent = <&UIC0>;
    151		interrupts = <26 0x4 9 0x84>;
    152	};
    153
    154	/* 2nd level UICs for FSI */
    155	UIC2_0: uic2_0 {
    156		#address-cells = <0>;
    157		#size-cells = <0>;
    158		#interrupt-cells = <2>;
    159
    160		compatible = "ibm,uic";
    161		interrupt-controller;
    162		cell-index = <7>;
    163		dcr-reg = <0x2d0 0x8>;
    164		interrupt-parent = <&UIC1_0>;
    165		interrupts = <16 0x4 0 0x84>;
    166	};
    167
    168	UIC2_1: uic2_1 {
    169		#address-cells = <0>;
    170		#size-cells = <0>;
    171		#interrupt-cells = <2>;
    172
    173		compatible = "ibm,uic";
    174		interrupt-controller;
    175		cell-index = <8>;
    176		dcr-reg = <0x2d8 0x8>;
    177		interrupt-parent = <&UIC1_0>;
    178		interrupts = <17 0x4 1 0x84>;
    179	};
    180
    181	UIC2_2: uic2_2 {
    182		#address-cells = <0>;
    183		#size-cells = <0>;
    184		#interrupt-cells = <2>;
    185
    186		compatible = "ibm,uic";
    187		interrupt-controller;
    188		cell-index = <9>;
    189		dcr-reg = <0x2e0 0x8>;
    190		interrupt-parent = <&UIC1_0>;
    191		interrupts = <18 0x4 2 0x84>;
    192	};
    193
    194	UIC2_3: uic2_3 {
    195		#address-cells = <0>;
    196		#size-cells = <0>;
    197		#interrupt-cells = <2>;
    198
    199		compatible = "ibm,uic";
    200		interrupt-controller;
    201		cell-index = <10>;
    202		dcr-reg = <0x2e8 0x8>;
    203		interrupt-parent = <&UIC1_0>;
    204		interrupts = <19 0x4 3 0x84>;
    205	};
    206
    207	UIC2_4: uic2_4 {
    208		#address-cells = <0>;
    209		#size-cells = <0>;
    210		#interrupt-cells = <2>;
    211
    212		compatible = "ibm,uic";
    213		interrupt-controller;
    214		cell-index = <11>;
    215		dcr-reg = <0x2f0 0x8>;
    216		interrupt-parent = <&UIC1_0>;
    217		interrupts = <20 0x4 4 0x84>;
    218	};
    219
    220	UIC2_5: uic2_5 {
    221		#address-cells = <0>;
    222		#size-cells = <0>;
    223		#interrupt-cells = <2>;
    224
    225		compatible = "ibm,uic";
    226		interrupt-controller;
    227		cell-index = <12>;
    228		dcr-reg = <0x2f8 0x8>;
    229		interrupt-parent = <&UIC1_0>;
    230		interrupts = <21 0x4 5 0x84>;
    231	};
    232
    233	UIC2_6: uic2_6 {
    234		#address-cells = <0>;
    235		#size-cells = <0>;
    236		#interrupt-cells = <2>;
    237
    238		compatible = "ibm,uic";
    239		interrupt-controller;
    240		cell-index = <13>;
    241		dcr-reg = <0x300 0x8>;
    242		interrupt-parent = <&UIC1_0>;
    243		interrupts = <22 0x4 6 0x84>;
    244	};
    245
    246	UIC2_7: uic2_7 {
    247		#address-cells = <0>;
    248		#size-cells = <0>;
    249		#interrupt-cells = <2>;
    250
    251		compatible = "ibm,uic";
    252		interrupt-controller;
    253		cell-index = <14>;
    254		dcr-reg = <0x308 0x8>;
    255		interrupt-parent = <&UIC1_0>;
    256		interrupts = <23 0x4 7 0x84>;
    257	};
    258
    259	UIC2_8: uic2_8 {
    260		#address-cells = <0>;
    261		#size-cells = <0>;
    262		#interrupt-cells = <2>;
    263
    264		compatible = "ibm,uic";
    265		interrupt-controller;
    266		cell-index = <15>;
    267		dcr-reg = <0x310 0x8>;
    268		interrupt-parent = <&UIC1_0>;
    269		interrupts = <24 0x4 8 0x84>;
    270	};
    271
    272	UIC2_9: uic2_9 {
    273		#address-cells = <0>;
    274		#size-cells = <0>;
    275		#interrupt-cells = <2>;
    276
    277		compatible = "ibm,uic";
    278		interrupt-controller;
    279		cell-index = <16>;
    280		dcr-reg = <0x318 0x8>;
    281		interrupt-parent = <&UIC1_0>;
    282		interrupts = <25 0x4 9 0x84>;
    283	};
    284
    285	UIC2_10: uic2_10 {
    286		#address-cells = <0>;
    287		#size-cells = <0>;
    288		#interrupt-cells = <2>;
    289
    290		compatible = "ibm,uic";
    291		interrupt-controller;
    292		cell-index = <17>;
    293		dcr-reg = <0x320 0x8>;
    294		interrupt-parent = <&UIC1_0>;
    295		interrupts = <26 0x4 10 0x84>;
    296	};
    297
    298	UIC2_11: uic2_11 {
    299		#address-cells = <0>;
    300		#size-cells = <0>;
    301		#interrupt-cells = <2>;
    302
    303		compatible = "ibm,uic";
    304		interrupt-controller;
    305		cell-index = <18>;
    306		dcr-reg = <0x328 0x8>;
    307		interrupt-parent = <&UIC1_0>;
    308		interrupts = <27 0x4 11 0x84>;
    309	};
    310
    311	UIC2_12: uic2_12 {
    312		#address-cells = <0>;
    313		#size-cells = <0>;
    314		#interrupt-cells = <2>;
    315
    316		compatible = "ibm,uic";
    317		interrupt-controller;
    318		cell-index = <19>;
    319		dcr-reg = <0x330 0x8>;
    320		interrupt-parent = <&UIC1_0>;
    321		interrupts = <28 0x4 12 0x84>;
    322	};
    323
    324	UIC2_13: uic2_13 {
    325		#address-cells = <0>;
    326		#size-cells = <0>;
    327		#interrupt-cells = <2>;
    328
    329		compatible = "ibm,uic";
    330		interrupt-controller;
    331		cell-index = <20>;
    332		dcr-reg = <0x338 0x8>;
    333		interrupt-parent = <&UIC1_0>;
    334		interrupts = <29 0x4 13 0x84>;
    335	};
    336
    337	UIC2_14: uic2_14 {
    338		#address-cells = <0>;
    339		#size-cells = <0>;
    340		#interrupt-cells = <2>;
    341
    342		compatible = "ibm,uic";
    343		interrupt-controller;
    344		cell-index = <21>;
    345		dcr-reg = <0x340 0x8>;
    346		interrupt-parent = <&UIC1_0>;
    347		interrupts = <30 0x4 14 0x84>;
    348	};
    349
    350	UIC2_15: uic2_15 {
    351		#address-cells = <0>;
    352		#size-cells = <0>;
    353		#interrupt-cells = <2>;
    354
    355		compatible = "ibm,uic";
    356		interrupt-controller;
    357		cell-index = <22>;
    358		dcr-reg = <0x348 0x8>;
    359		interrupt-parent = <&UIC1_0>;
    360		interrupts = <31 0x4 15 0x84>;
    361	};
    362
    363	plb6 {
    364		compatible = "ibm,plb6";
    365		#address-cells = <2>;
    366		#size-cells = <1>;
    367		ranges;
    368
    369		MCW0: memory-controller-wrapper {
    370			compatible = "ibm,cw-476fsp2";
    371			dcr-reg = <0x11111800 0x40>;
    372		};
    373
    374		MCIF0: memory-controller {
    375			compatible = "ibm,sdram-476fsp2", "ibm,sdram-4xx-ddr3";
    376			dcr-reg = <0x11120000 0x10000>;
    377			mcer-device = <&MCW0>;
    378			interrupt-parent = <&UIC0>;
    379			interrupts = <10 0x84   /* ECC UE */
    380				      11 0x84>; /* ECC CE */
    381		};
    382	};
    383
    384	plb4 {
    385		compatible = "ibm,plb4";
    386		#address-cells = <1>;
    387		#size-cells = <1>;
    388		ranges = <0x00000000 0x00000010 0x00000000 0x80000000
    389			  0x80000000 0x00000010 0x80000000 0x80000000>;
    390		clock-frequency = <333333334>;
    391
    392		plb6-system-hung-irq {
    393			compatible = "ibm,bus-error-irq";
    394			#interrupt-cells = <2>;
    395			interrupt-parent = <&UIC0>;
    396			interrupts = <0 0x84>;
    397		};
    398
    399		l2-error-irq {
    400			compatible = "ibm,bus-error-irq";
    401			#interrupt-cells = <2>;
    402			interrupt-parent = <&UIC0>;
    403			interrupts = <20 0x84>;
    404		};
    405
    406		plb6-plb4-irq {
    407			compatible = "ibm,bus-error-irq";
    408			#interrupt-cells = <2>;
    409			interrupt-parent = <&UIC0>;
    410			interrupts = <1 0x84>;
    411		};
    412
    413		plb4-ahb-irq {
    414			compatible = "ibm,bus-error-irq";
    415			#interrupt-cells = <2>;
    416			interrupt-parent = <&UIC1_3>;
    417			interrupts = <20 0x84>;
    418		};
    419
    420		opbd-error-irq {
    421			compatible = "ibm,opbd-error-irq";
    422			#interrupt-cells = <2>;
    423			interrupt-parent = <&UIC1_4>;
    424			interrupts = <5 0x84>;
    425		};
    426
    427		cmu-error-irq {
    428			compatible = "ibm,cmu-error-irq";
    429			#interrupt-cells = <2>;
    430			interrupt-parent = <&UIC0>;
    431			interrupts = <28 0x84>;
    432		};
    433
    434		conf-error-irq {
    435			compatible = "ibm,conf-error-irq";
    436			#interrupt-cells = <2>;
    437			interrupt-parent = <&UIC1_4>;
    438			interrupts = <11 0x84>;
    439		};
    440
    441		mc-ue-irq {
    442			compatible = "ibm,mc-ue-irq";
    443			#interrupt-cells = <2>;
    444			interrupt-parent = <&UIC0>;
    445			interrupts = <10 0x84>;
    446		};
    447
    448		reset-warning-irq {
    449			compatible = "ibm,reset-warning-irq";
    450			#interrupt-cells = <2>;
    451			interrupt-parent = <&UIC0>;
    452			interrupts = <17 0x84>;
    453		};
    454
    455		MAL0: mcmal0 {
    456			#interrupt-cells = <1>;
    457			#address-cells = <0>;
    458			#size-cells = <0>;
    459			compatible = "ibm,mcmal";
    460			dcr-reg = <0x80 0x80>;
    461			num-tx-chans = <1>;
    462			num-rx-chans = <1>;
    463			interrupt-parent = <&MAL0>;
    464			interrupts = <0 1 2 3 4>;
    465			/* index interrupt-parent interrupt# type */
    466			interrupt-map = </*TXEOB*/ 0 &UIC1_2 4 0x4
    467					 /*RXEOB*/ 1 &UIC1_2 3 0x4
    468					 /*SERR*/  2 &UIC1_2 7 0x4
    469					 /*TXDE*/  3 &UIC1_2 6 0x4
    470					 /*RXDE*/  4 &UIC1_2 5 0x4>;
    471		};
    472
    473		MAL1: mcmal1 {
    474			#interrupt-cells = <1>;
    475			#address-cells = <0>;
    476			#size-cells = <0>;
    477			compatible = "ibm,mcmal";
    478			dcr-reg = <0x100 0x80>;
    479			num-tx-chans = <1>;
    480			num-rx-chans = <1>;
    481			interrupt-parent = <&MAL1>;
    482			interrupts = <0 1 2 3 4>;
    483			/* index interrupt-parent interrupt# type */
    484			interrupt-map = </*TXEOB*/ 0 &UIC1_2 12 0x4
    485					 /*RXEOB*/ 1 &UIC1_2 11 0x4
    486					 /*SERR*/  2 &UIC1_2 15 0x4
    487					 /*TXDE*/  3 &UIC1_2 14 0x4
    488					 /*RXDE*/  4 &UIC1_2 13 0x4>;
    489		};
    490
    491		mmc0: mmc@20c0000 {
    492			compatible	= "st,sdhci-stih407", "st,sdhci";
    493			reg		= <0x020c0000 0x20000>;
    494			reg-names	= "mmc";
    495			interrupts	= <21 0x4>;
    496			interrupt-parent = <&UIC1_3>;
    497			interrupt-names	= "mmcirq";
    498			pinctrl-names	= "default";
    499			pinctrl-0	= <>;
    500			clock-names	= "mmc";
    501			clocks		= <&mmc_clk>;
    502			bus-width	= <4>;
    503			non-removable;
    504			sd-uhs-sdr50;
    505			sd-uhs-sdr104;
    506			sd-uhs-ddr50;
    507		};
    508
    509		opb {
    510			compatible = "ibm,opb";
    511			#address-cells = <1>;
    512			#size-cells = <1>;
    513			ranges; // pass-thru to parent bus
    514			clock-frequency = <83333334>;
    515
    516			EMAC0: ethernet@b0000000 {
    517				linux,network-index = <0>;
    518				device_type = "network";
    519				compatible = "ibm,emac4sync";
    520				has-inverted-stacr-oc;
    521				interrupt-parent = <&UIC1_2>;
    522				interrupts = <1 0x4 0 0x4>;
    523				reg = <0xb0000000 0x100>;
    524				local-mac-address = [000000000000]; /* Filled in by
    525							       cuboot */
    526				mal-device = <&MAL0>;
    527				mal-tx-channel = <0>;
    528				mal-rx-channel = <0>;
    529				cell-index = <0>;
    530				max-frame-size = <1500>;
    531				rx-fifo-size = <4096>;
    532				tx-fifo-size = <4096>;
    533				rx-fifo-size-gige = <16384>;
    534				tx-fifo-size-gige = <8192>;
    535				phy-address = <1>;
    536				phy-mode = "rgmii";
    537				phy-map = <00000003>;
    538				rgmii-device = <&RGMII>;
    539				rgmii-channel = <0>;
    540			};
    541
    542			EMAC1: ethernet@b0000100 {
    543				linux,network-index = <1>;
    544				device_type = "network";
    545				compatible = "ibm,emac4sync";
    546				has-inverted-stacr-oc;
    547				interrupt-parent = <&UIC1_2>;
    548				interrupts = <9 0x4 8 0x4>;
    549				reg = <0xb0000100 0x100>;
    550				local-mac-address = [000000000000]; /* Filled in by
    551							       cuboot */
    552				mal-device = <&MAL1>;
    553				mal-tx-channel = <0>;
    554				mal-rx-channel = <0>;
    555				cell-index = <1>;
    556				max-frame-size = <1500>;
    557				rx-fifo-size = <4096>;
    558				tx-fifo-size = <4096>;
    559				rx-fifo-size-gige = <16384>;
    560				tx-fifo-size-gige = <8192>;
    561				phy-address = <2>;
    562				phy-mode = "rgmii";
    563				phy-map = <00000003>;
    564				rgmii-device = <&RGMII>;
    565				rgmii-channel = <1>;
    566			};
    567
    568			RGMII: rgmii@b0000600 {
    569				compatible = "ibm,rgmii";
    570				has-mdio;
    571				reg = <0xb0000600 0x8>;
    572			};
    573
    574			UART0: serial@b0020000 {
    575				device_type = "serial";
    576				compatible = "ns16550";
    577				reg = <0xb0020000 0x8>;
    578				virtual-reg = <0xb0020000>;
    579				clock-frequency = <20833333>;
    580				current-speed = <115200>;
    581				interrupt-parent = <&UIC0>;
    582				interrupts = <31 0x4>;
    583			};
    584		};
    585
    586		OHCI1: ohci@2040000 {
    587			compatible = "ohci-le";
    588			reg = <0x02040000 0xa0>;
    589			interrupt-parent = <&UIC1_3>;
    590			interrupts = <28 0x8 29 0x8>;
    591		};
    592
    593		OHCI2: ohci@2080000 {
    594			compatible = "ohci-le";
    595			reg = <0x02080000 0xa0>;
    596			interrupt-parent = <&UIC1_3>;
    597			interrupts = <30 0x8 31 0x8>;
    598		};
    599
    600		EHCI: ehci@2000000 {
    601			compatible = "usb-ehci";
    602			reg = <0x02000000 0xa4>;
    603			interrupt-parent = <&UIC1_3>;
    604			interrupts = <23 0x4>;
    605		};
    606
    607	};
    608
    609	chosen {
    610		stdout-path = "/plb/opb/serial@b0020000";
    611		bootargs = "console=ttyS0,115200 rw log_buf_len=32768 debug";
    612	};
    613};