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

aspeed-bmc-tyan-s8036.dts (9204B)


      1// SPDX-License-Identifier: GPL-2.0+
      2/dts-v1/;
      3
      4#include "aspeed-g5.dtsi"
      5#include <dt-bindings/gpio/aspeed-gpio.h>
      6#include <dt-bindings/interrupt-controller/irq.h>
      7
      8/ {
      9	model = "Tyan S8036 BMC";
     10	compatible = "tyan,s8036-bmc", "aspeed,ast2500";
     11
     12	chosen {
     13		stdout-path = &uart5;
     14		bootargs = "console=ttyS4,115200 earlycon";
     15	};
     16
     17	memory@80000000 {
     18		device_type = "memory";
     19		reg = <0x80000000 0x20000000>;
     20	};
     21
     22	reserved-memory {
     23		#address-cells = <1>;
     24		#size-cells = <1>;
     25		ranges;
     26
     27		p2a_memory: region@987f0000 {
     28			no-map;
     29			reg = <0x987f0000 0x00010000>; /* 64KB */
     30		};
     31
     32		vga_memory: framebuffer@9f000000 {
     33			no-map;
     34			reg = <0x9f000000 0x01000000>; /* 16M */
     35		};
     36
     37		gfx_memory: framebuffer {
     38			size = <0x01000000>; /* 16M */
     39			alignment = <0x01000000>;
     40			compatible = "shared-dma-pool";
     41			reusable;
     42		};
     43	};
     44
     45	leds {
     46		compatible = "gpio-leds";
     47
     48		identify {
     49			gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
     50		};
     51
     52		heartbeat {
     53			gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
     54		};
     55	};
     56
     57	iio-hwmon {
     58		compatible = "iio-hwmon";
     59		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
     60			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
     61			<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
     62			<&adc 12>, <&adc 13>, <&adc 14>;
     63	};
     64
     65	iio-hwmon-battery {
     66		compatible = "iio-hwmon";
     67		io-channels = <&adc 15>;
     68	};
     69};
     70
     71&fmc {
     72	status = "okay";
     73	flash@0 {
     74		label = "bmc";
     75		status = "okay";
     76		m25p,fast-read;
     77#include "openbmc-flash-layout.dtsi"
     78	};
     79};
     80
     81&spi1 {
     82	status = "okay";
     83	pinctrl-names = "default";
     84	pinctrl-0 = <&pinctrl_spi1_default>;
     85
     86	flash@0 {
     87		status = "okay";
     88		label = "pnor";
     89		m25p,fast-read;
     90	};
     91};
     92
     93&uart1 {
     94	/* Rear RS-232 connector */
     95	status = "okay";
     96	pinctrl-names = "default";
     97	pinctrl-0 = <&pinctrl_txd1_default
     98			&pinctrl_rxd1_default>;
     99};
    100
    101&uart2 {
    102	/* RS-232 connector on header */
    103	status = "okay";
    104	pinctrl-names = "default";
    105	pinctrl-0 = <&pinctrl_txd2_default
    106			&pinctrl_rxd2_default>;
    107};
    108
    109&uart3 {
    110	/* Alternative to vuart to internally connect (route) to uart1
    111	 * when vuart cannot be used due to BIOS limitations.
    112	 */
    113	status = "okay";
    114};
    115
    116&uart4 {
    117	/* Alternative to vuart to internally connect (route) to the
    118	 * external port usually used by uart1 when vuart cannot be
    119	 * used due to BIOS limitations.
    120	 */
    121	status = "okay";
    122};
    123
    124&uart5 {
    125	/* BMC "debug" (console) UART; connected to RS-232 connector
    126	 * on header; selectable via jumpers as alternative to uart2
    127	 */
    128	status = "okay";
    129};
    130
    131&uart_routing {
    132	status = "okay";
    133};
    134
    135&vuart {
    136	status = "okay";
    137
    138	/* We enable the VUART here, but leave it in a state that does
    139	 * not interfere with the SuperIO. The goal is to have both the
    140	 * VUART and the SuperIO available and decide at runtime whether
    141	 * the VUART should actually be used. For that reason, configure
    142	 * an "invalid" IO address and an IRQ that is not used by the
    143	 * BMC.
    144	 */
    145	aspeed,lpc-io-reg = <0xffff>;
    146	aspeed,lpc-interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
    147};
    148
    149&lpc_ctrl {
    150	status = "okay";
    151};
    152
    153&p2a {
    154	status = "okay";
    155	memory-region = <&p2a_memory>;
    156};
    157
    158&lpc_snoop {
    159	status = "okay";
    160	snoop-ports = <0x80>;
    161};
    162
    163&adc {
    164	status = "okay";
    165};
    166
    167&vhub {
    168	status = "okay";
    169};
    170
    171&pwm_tacho {
    172	status = "okay";
    173	pinctrl-names = "default";
    174	pinctrl-0 = <&pinctrl_pwm0_default
    175			&pinctrl_pwm1_default
    176			&pinctrl_pwm3_default
    177			&pinctrl_pwm4_default>;
    178
    179	/* CPU fan */
    180	fan@0 {
    181		reg = <0x00>;
    182		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
    183	};
    184
    185	/* PWM group for chassis fans #1, #2, #3 and #4 */
    186	fan@2 {
    187		reg = <0x03>;
    188		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
    189	};
    190
    191	fan@3 {
    192		reg = <0x03>;
    193		aspeed,fan-tach-ch = /bits/ 8 <0x03>;
    194	};
    195
    196	fan@4 {
    197		reg = <0x03>;
    198		aspeed,fan-tach-ch = /bits/ 8 <0x04>;
    199	};
    200
    201	fan@5 {
    202		reg = <0x03>;
    203		aspeed,fan-tach-ch = /bits/ 8 <0x05>;
    204	};
    205
    206	/* PWM group for chassis fans #5 and #6  */
    207	fan@6 {
    208		reg = <0x04>;
    209		aspeed,fan-tach-ch = /bits/ 8 <0x06>;
    210	};
    211
    212	fan@7 {
    213		reg = <0x04>;
    214		aspeed,fan-tach-ch = /bits/ 8 <0x07>;
    215	};
    216};
    217
    218&i2c0 {
    219	/* Directly connected to Sideband-Temperature Sensor Interface (APML) */
    220	status = "okay";
    221};
    222
    223&i2c1 {
    224	/* Directly connected to IPMB HDR. */
    225	status = "okay";
    226};
    227
    228&i2c2 {
    229	status = "okay";
    230
    231	/* BMC EEPROM, incl. mainboard FRU */
    232	eeprom@50 {
    233		compatible = "atmel,24c256";
    234		reg = <0x50>;
    235	};
    236	/* Also connected to:
    237	 * - BCM5720
    238	 * - FPGA
    239	 * - FAN HDR
    240	 * - FPIO HDR
    241	 */
    242};
    243
    244&i2c3 {
    245	status = "okay";
    246
    247	/* PSU1 FRU @ 0xA0 */
    248	eeprom@50 {
    249		compatible = "atmel,24c02";
    250		reg = <0x50>;
    251	};
    252
    253	/* PSU2 FRU @ 0xA2 */
    254	eeprom@51 {
    255		compatible = "atmel,24c02";
    256		reg = <0x51>;
    257	};
    258
    259	/* PSU1 @ 0xB0 */
    260	power-supply@58 {
    261		compatible = "pmbus";
    262		reg = <0x58>;
    263	};
    264
    265	/* PSU2 @ 0xB2 */
    266	power-supply@59 {
    267		compatible = "pmbus";
    268		reg = <0x59>;
    269	};
    270
    271};
    272
    273&i2c4 {
    274	status = "okay";
    275};
    276
    277&i2c5 {
    278	status = "okay";
    279	/* Hardware monitor with temperature sensors */
    280	nct7802@28 {
    281		compatible = "nuvoton,nct7802";
    282		reg = <0x28>;
    283		#address-cells = <1>;
    284		#size-cells = <0>;
    285
    286		channel@0 { /* LTD */
    287			reg = <0>;
    288			status = "okay";
    289		};
    290
    291		channel@1 { /* RTD1 */
    292			reg = <1>;
    293			status = "okay";
    294			sensor-type = "temperature";
    295			temperature-mode = "thermistor";
    296		};
    297
    298		channel@2 { /* RTD2 */
    299			reg = <2>;
    300			status = "okay";
    301			sensor-type = "temperature";
    302			temperature-mode = "thermistor";
    303		};
    304
    305		channel@3 { /* RTD3 */
    306			reg = <3>;
    307			status = "okay";
    308			sensor-type = "temperature";
    309		};
    310	};
    311
    312	/* Also connected to:
    313	 * - PCA9544
    314	 * - CLK BUFF
    315	 * - OCP FRU
    316	 */
    317};
    318
    319&i2c6 {
    320	status = "okay";
    321	/* Connected to:
    322	 * - PCA9548 @0xE0
    323	 * - PCA9548 @0xE2
    324	 * - PCA9544 @0xE4
    325	 */
    326};
    327
    328&i2c7 {
    329	status = "okay";
    330
    331	/* Connected to:
    332	 * - PCH SMBUS #4
    333	 */
    334};
    335
    336&i2c8 {
    337	status = "okay";
    338
    339	/* Not connected */
    340};
    341
    342&mac0 {
    343	status = "okay";
    344	use-ncsi;
    345	pinctrl-names = "default";
    346	pinctrl-0 = <&pinctrl_rmii1_default>;
    347};
    348
    349&mac1 {
    350	status = "okay";
    351	pinctrl-names = "default";
    352	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
    353};
    354
    355&ibt {
    356	status = "okay";
    357};
    358
    359&kcs1 {
    360	status = "okay";
    361	aspeed,lpc-io-reg = <0xca8>;
    362};
    363
    364&kcs3 {
    365	status = "okay";
    366	aspeed,lpc-io-reg = <0xca2>;
    367};
    368
    369/* Enable BMC VGA output to show an early (pre-BIOS) boot screen */
    370&gfx {
    371	status = "okay";
    372	memory-region = <&gfx_memory>;
    373};
    374
    375/* We're following the GPIO naming as defined at
    376 * https://github.com/openbmc/docs/blob/master/designs/device-tree-gpio-naming.md.
    377 *
    378 * Notes on led-identify and id-button:
    379 * - A physical button is connected to id-button which
    380 *   triggers the clock on a D flip-flop. The /Q output of the
    381 *   flip-flop drives its D input.
    382 * - The flip-flop's Q output drives led-identify which is
    383 *   connected to LEDs.
    384 * - With that, every button press toggles the LED between on and off.
    385 *
    386 * Notes on power-, reset- and nmi- button and control:
    387 * - The -button signals can be used to monitor physical buttons.
    388 * - The -control signals can be used to actuate the specific
    389 *   operation.
    390 * - In hardware, the -button signals are connected to the -control
    391 *   signals through drivers with the -control signals being
    392 *   protected through diodes.
    393 */
    394&gpio {
    395	status = "okay";
    396	gpio-line-names =
    397	/*A0*/		"",
    398	/*A1*/		"",
    399	/*A2*/		"led-identify", /* in/out: BMC_CHASSIS_ID_LED_L */
    400	/*A3*/		"",
    401	/*A4*/		"",
    402	/*A5*/		"",
    403	/*A6*/		"",
    404	/*A7*/		"",
    405	/*B0-B7*/	"","","","","","","","",
    406	/*C0-C7*/	"","","","","","","","",
    407	/*D0*/		"",
    408	/*D1*/		"",
    409	/*D2*/		"power-chassis-good", /* in: PWR_GOOD_LED -- Check if this is Z3?*/
    410	/*D3*/		"platform-reset", /* in: RESET_LED_L */
    411	/*D4*/		"",
    412	/*D5*/		"",
    413	/*D6*/		"",
    414	/*D7*/		"",
    415	/*E0*/		"power-button", /* in: BMC_SYS_MON_PWR_BTN_L */
    416	/*E1*/		"power-chassis-control", /* out: BMC_ASSERT_PWR_BTN */
    417	/*E2*/		"reset-button", /* in: BMC_SYS_MOS_RST_BTN_L*/
    418	/*E3*/		"reset-control", /* out: BMC_ASSERT_RST_BTN */
    419	/*E4*/		"nmi-button", /* in: BMC_SYS_MON_NMI_BTN_L */
    420	/*E5*/		"nmi-control", /* out: BMC_ASSERT_NMI_BTN */
    421	/*E6*/		"TSI_RESERT",
    422	/*E7*/		"led-heartbeat", /* out: BMC_GPIOE7 */
    423	/*F0*/		"",
    424	/*F1*/		"clear-cmos-control", /* out: BMC_ASSERT_CLR_CMOS_L */
    425	/*F2*/		"",
    426	/*F3*/		"",
    427	/*F4*/		"led-fault", /* out: BMC_HWM_FAULT_LED_L */
    428	/*F5*/		"BMC_SYS_FAULT_LED_L",
    429	/*F6*/		"BMC_ASSERT_BIOS_WP_L",
    430	/*F7*/		"",
    431	/*G0-G7*/	"","","","","","","","",
    432	/*H0-H7*/	"","","","","","","","",
    433	/*I0-I7*/	"","","","","","","","",
    434	/*J0-J7*/	"","","","","","","","",
    435	/*K0-K7*/	"","","","","","","","",
    436	/*L0-L7*/	"","","","","","","","",
    437	/*M0-M7*/	"","","","","","","","",
    438	/*N0-N7*/	"","","","","","","","",
    439	/*O0-O7*/	"","","","","","","","",
    440	/*P0-P7*/	"","","","","","","","",
    441	/*Q0*/		"",
    442	/*Q1*/		"",
    443	/*Q2*/		"",
    444	/*Q3*/		"",
    445	/*Q4*/		"",
    446	/*Q5*/		"",
    447	/*Q6*/		"id-button", /* in: BMC_CHASSIS_ID_BTN_L */
    448	/*Q7*/		"",
    449	/*R0-R7*/	"","","","","","","","",
    450	/*S0-S7*/	"","","","","","","","",
    451	/*T0-T7*/	"","","","","","","","",
    452	/*U0-U7*/	"","","","","","","","",
    453	/*V0-V7*/	"","","","","","","","",
    454	/*W0-W7*/	"","","","","","","","",
    455	/*X0-X7*/	"","","","","","","","",
    456	/*Y0-Y7*/	"","","","","","","","",
    457	/*Z0-Z2*/	"","","",
    458	/*Z3*/		"post-complete", /* BMC_SYS_MON_PWROK */
    459	/*Z4-Z7*/	"","","","",
    460	/*AA0*/		"",
    461	/*AA1*/		"",
    462	/*AA2*/		"",
    463	/*AA3*/		"",
    464	/*AA4*/		"",
    465	/*AA5*/		"",
    466	/*AA6*/		"",
    467	/*AA7*/		"BMC_ASSERT_BMC_READY",
    468	/*AB0*/		"BMC_SPD_SEL",
    469	/*AB1-AB7*/	"","","","","","","";
    470};