ASPEED device tree updates for 6.3

- New machines
 
    * Ufispace NCPLite AST2600 BMC
    * Facebook Greatlakes AST2600 BMC
 
  - Updates for ethanolx, bletchley and tyan s8036
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAmPhye4ACgkQa3ZZB4FH
 cJ7O0A//ZDTf+Dj2MIkVQ/wVyX2QqHvyIQWuntdFJufQa1ZAh/1ZEQsQCN4Uj1c8
 foZ7O4XgGtMk7eXyyOnYlZpAWqMOAxeiymc/LJ6yMDD94I+fFeFgVt49XMrPtHbE
 4/HPeqygTWkytlbeTDN0YYlRzOYEZT2MEOuUJLA+JwpUk4cNpU7vo0Y3LlVmPNbO
 UoRcgPrqlRaowhpXtXHymLn4Fj7gQt52TdxNa+0PqYIgbYYVCkbsnUu9/UP35MUn
 TWIoVUMgufjL3AuHHoiHGcD1fqJTArmzfDaWGjp9DnSXY5k9z9fkQKNBkAOgcMGr
 CrVq+EAio+z7MzhW/QR7UA0Xsfy3yP88J116RznCgKZhm4SjsmNHMtJHZZwAP76a
 DGF+2GGXxXS7mapFzI3k4SLxQK7S9v0wB04NTXP39edoZNVJQKAgdg41nj8C4DW3
 0/DcBlV20CmJktitRmSocJaLYWLcZSba7PKh0dR9b81bk86WEvp7Zip8DVXGVOyo
 0tI5CyOTMzz4AY/IF0WPlxDqwvSNMP2hEAAgzBTtJ16+DrcuQsm0sYIxYS8DLFDc
 tjja/DMIwmHKsYMqLrLb49u96/D0ajKU3rkiY7bV6dm7o5hwCujzF3FYde19dfdH
 OuID8ourTjTl5+o+3dZwpgxiaXSXxrw55JLKjxpfMM/CnYSMVBs=
 =Oyj6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPk7aQACgkQmmx57+YA
 GNlxmw/+NxnuTOQTQWwUeeAYE4CermACaZviPhzN4UTKgTjl8AJHD421de4f5hsY
 pn2UaxLwulhCVM3bKP92m0eelLKEY9MWqDbpAgzhbb2/+/2YrM9NoFtK4iL/kYBE
 dHxyxjc8F7AK/MKaqfaZOcXVSUNCY3Lo+2/oEQqgVb6hwEH6x9Z6NjUSR14DiV74
 uRwhh4gEnssTneYgw4RsIhLA+Fo2kd/S1Iag/LSBK8WP15oKTBdBMRj/6wZ6nMVF
 xYzFMMBk0uxT98/gRBptGlEZoC7du4PP8mxBwCCy5wPzMsWxMEO9sypGxht1Y+Ge
 RjthjcsSk+koXVWmBmC8zUhN+xTZJ0zBArD7OVYHkDPkCuzTT9O6HvSDfYFA63TS
 MDsvlxPuif6NLWnlMkjjoqxDi1p1vlaO9FEA0apRuNo/cAmZ+Uy24MR3nJBONkB/
 Hk8cKK8rwDIHBHXm39Krk/z7Laz8mwalalB9iGez1aM7c3cFPzJOZguZ0gLKbHJU
 DIrYulVVoYCfbQ1b6SKDFdAE8O19WHzOv99P1bN3wgGv0zFqx9shkW1Bjrjyd8p7
 KZrbI+eGhc6mi69YCH4wWC94H/DgIXq49Ukzzueus1pGCvZ6uNgQ1cGn2wElScRT
 WZ3qP+sarE7mK8AijgSS0OlHaBhlmwfYnT8OuaOOu3mJLCcVpvI=
 =5gN/
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.3-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/dt

ASPEED device tree updates for 6.3

 - New machines

   * Ufispace NCPLite AST2600 BMC
   * Facebook Greatlakes AST2600 BMC

 - Updates for ethanolx, bletchley and tyan s8036

* tag 'aspeed-6.3-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  ARM: dts: aspeed: p10bmc: Enable UART2
  ARM: dts: aspeed: Add device tree for Ufispace NCPLite BMC
  dt-bindings: arm: aspeed: document Ufispace NCPLite BMC
  dt-bindings: vendor-prefixes: Add prefix for Ufi Space
  arm: dts: aspeed: tyan s8036: Enable kcs interrupts
  ARM: dts: aspeed: bletchley: Enable wdtrst1
  ARM: dts: aspeed: bletchley: Rename flash1 label
  ARM: dts: aspeed: ethanolx: Add BIOS flash chip
  ARM: dts: aspeed: ethanolx: Enable CTS/RTS pins on UART1
  ARM: dts: aspeed: ethanolx: Add label for the master partition
  ARM: dts: aspeed: ethanolx: Correct EEPROM device name
  ARM: dts: aspeed: ethanolx: Enable VUART
  ARM: dts: aspeed: greatlakes: Add Facebook greatlakes (AST2600) BMC
  dt-bindings: arm: aspeed: add Facebook Greatlakes board

Link: https://lore.kernel.org/r/CACPK8XdbffU5yRSZF-zR2xv-+6aJK+hEXP8TOkW=SvS+nNTGxg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-02-09 13:57:06 +01:00
commit 153927e6f6
11 changed files with 655 additions and 3 deletions

View File

@ -78,6 +78,7 @@ properties:
- facebook,cloudripper-bmc
- facebook,elbert-bmc
- facebook,fuji-bmc
- facebook,greatlakes-bmc
- ibm,everest-bmc
- ibm,rainier-bmc
- ibm,tacoma-bmc
@ -85,6 +86,7 @@ properties:
- jabil,rbp-bmc
- qcom,dc-scm-v1-bmc
- quanta,s6q-bmc
- ufispace,ncplite-bmc
- const: aspeed,ast2600
additionalProperties: true

View File

@ -1386,6 +1386,8 @@ patternProperties:
description: uCRobotics
"^udoo,.*":
description: Udoo
"^ufispace,.*":
description: Ufi Space Co., Ltd.
"^ugoos,.*":
description: Ugoos Industrial Co., Ltd.
"^uniwest,.*":

View File

@ -1612,6 +1612,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-elbert.dtb \
aspeed-bmc-facebook-fuji.dtb \
aspeed-bmc-facebook-galaxy100.dtb \
aspeed-bmc-facebook-greatlakes.dtb \
aspeed-bmc-facebook-minipack.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
@ -1648,6 +1649,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-inventec-transformers.dtb \
aspeed-bmc-tyan-s7106.dtb \
aspeed-bmc-tyan-s8036.dtb \
aspeed-bmc-ufispace-ncplite.dtb \
aspeed-bmc-vegman-n110.dtb \
aspeed-bmc-vegman-rx20.dtb \
aspeed-bmc-vegman-sx20.dtb

View File

@ -5,6 +5,7 @@
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "AMD EthanolX BMC";
@ -58,10 +59,22 @@
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
#include "openbmc-flash-layout.dtsi"
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
m25p,fast-read;
label = "bios";
spi-max-frequency = <100000000>;
};
};
&mac0 {
status = "okay";
@ -78,7 +91,9 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd1_default
&pinctrl_rxd1_default>;
&pinctrl_rxd1_default
&pinctrl_nrts1_default
&pinctrl_ncts1_default>;
};
&uart5 {
@ -160,7 +175,7 @@
&i2c3 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c256";
compatible = "atmel,24c128";
reg = <0x50>;
pagesize = <64>;
};
@ -261,6 +276,12 @@
status = "okay";
};
&vuart {
status = "okay";
aspeed,lpc-io-reg = <0x3f8>;
aspeed,lpc-interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
};
&pwm_tacho {
status = "okay";
pinctrl-names = "default";

View File

@ -307,7 +307,7 @@
flash@1 {
status = "okay";
m25p,fast-read;
label = "flash1";
label = "alt-bmc";
spi-max-frequency = <50000000>;
};
};
@ -1064,3 +1064,14 @@
bias-disable;
};
};
&wdt1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
};

View File

@ -0,0 +1,241 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2022 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Greatlakes BMC";
compatible = "facebook,greatlakes-bmc", "aspeed,ast2600";
aliases {
serial4 = &uart5;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>,
<&adc1 5>, <&adc1 6>;
};
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
&uart5 {
status = "okay";
};
&wdt1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
};
&mac3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
no-hw-checksum;
use-ncsi;
mlx,multi-host;
ncsi-ctrl,start-redo-probe;
ncsi-ctrl,no-channel-monitor;
ncsi-package = <1>;
ncsi-channel = <1>;
ncsi-rexmit = <1>;
ncsi-timeout = <2>;
};
&rtc {
status = "okay";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-64.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "bmc2";
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
};
};
&i2c0 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c1 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c2 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c3 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
// NIC EEPROM
eeprom@50 {
compatible = "st,24c32";
reg = <0x50>;
};
};
&i2c9 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
};
eeprom@54 {
compatible = "atmel,24c128";
reg = <0x54>;
};
};
&i2c12 {
status = "okay";
temperature-sensor@4f {
compatible = "lm75";
reg = <0x4f>;
};
};
&i2c13 {
status = "okay";
};
&adc0 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
&pinctrl_adc4_default &pinctrl_adc5_default
&pinctrl_adc6_default &pinctrl_adc7_default>;
};
&adc1 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default
&pinctrl_adc11_default &pinctrl_adc12_default
&pinctrl_adc13_default &pinctrl_adc14_default>;
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>;
};

View File

@ -857,6 +857,10 @@
status = "okay";
};
&uart2 {
status = "okay";
};
&vuart1 {
status = "okay";
};

View File

@ -3649,6 +3649,10 @@
status = "okay";
};
&uart2 {
status = "okay";
};
&vuart1 {
status = "okay";
};

View File

@ -2352,6 +2352,10 @@
};
};
&uart2 {
status = "okay";
};
&vuart1 {
status = "okay";
};

View File

@ -364,6 +364,7 @@
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
aspeed,lpc-interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
};
/* Enable BMC VGA output to show an early (pre-BIOS) boot screen */

View File

@ -0,0 +1,360 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright (c) 2022 Ufispace Co., Ltd.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/aspeed-gpio.h>
/ {
model = "Ufispace NCPLite BMC";
compatible = "ufispace,ncplite-bmc", "aspeed,ast2600";
aliases {
serial4 = &uart5;
};
chosen {
stdout-path = &uart5;
bootargs = "console=ttyS4,115200n8 earlycon";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
};
gpio-keys {
compatible = "gpio-keys";
fan-status-int-l {
label = "fan-status-int-l";
gpios = <&gpio0 ASPEED_GPIO(M, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(M, 2)>;
};
allpwr-good {
label = "allpwr-good";
gpios = <&gpio0 ASPEED_GPIO(V, 4) GPIO_ACTIVE_HIGH>;
linux,code = <ASPEED_GPIO(V, 4)>;
};
psu0-alert-n {
label = "psu0-alert-n";
gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(V, 1)>;
};
psu1-alert-n {
label = "psu1-alert-n";
gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(V, 2)>;
};
int-thermal-alert {
label = "int-thermal-alert";
gpios = <&gpio0 ASPEED_GPIO(P, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(P, 2)>;
};
cpu-caterr-l {
label = "cpu-caterr-l";
gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(N, 3)>;
};
cpu-thermtrip-l {
label = "cpu-thermtrip-l";
gpios = <&gpio0 ASPEED_GPIO(V, 5) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(V, 5)>;
};
psu0-presence-l {
label = "psu0-presence-l";
gpios = <&gpio0 ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(F, 6)>;
};
psu1-presence-l {
label = "psu1-presence-l";
gpios = <&gpio0 ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(F, 7)>;
};
psu0-power-ok {
label = "psu0-power-ok";
gpios = <&gpio0 ASPEED_GPIO(M, 4) GPIO_ACTIVE_HIGH>;
linux,code = <ASPEED_GPIO(M, 4)>;
};
psu1-power-ok {
label = "psu1-power-ok";
gpios = <&gpio0 ASPEED_GPIO(M, 5) GPIO_ACTIVE_HIGH>;
linux,code = <ASPEED_GPIO(M, 5)>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <1000>;
fan0-presence {
label = "fan0-presence";
gpios = <&fan_ioexp 2 GPIO_ACTIVE_LOW>;
linux,code = <2>;
};
fan1-presence {
label = "fan1-presence";
gpios = <&fan_ioexp 6 GPIO_ACTIVE_LOW>;
linux,code = <6>;
};
fan2-presence {
label = "fan2-presence";
gpios = <&fan_ioexp 10 GPIO_ACTIVE_LOW>;
linux,code = <10>;
};
fan3-presence {
label = "fan3-presence";
gpios = <&fan_ioexp 14 GPIO_ACTIVE_LOW>;
linux,code = <14>;
};
};
};
&mac2 {
status = "okay";
use-ncsi;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
<&syscon ASPEED_CLK_MAC3RCLK>;
clock-names = "MACCLK", "RCLK";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-64.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-64-alt.dtsi"
};
};
&uart1 {
status = "okay";
};
&uart4 {
status = "okay";
};
&uart5 {
status = "okay";
};
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
};
&lpc_reset {
status = "okay";
};
&lpc_ctrl {
status = "okay";
};
&uart_routing {
status = "okay";
};
&wdt1 {
status = "okay";
};
&wdt2 {
status = "okay";
};
&peci0 {
status = "okay";
};
&udc {
status = "okay";
};
&adc0 {
vref = <2500>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
&pinctrl_adc4_default &pinctrl_adc5_default
&pinctrl_adc6_default &pinctrl_adc7_default>;
};
&adc1 {
vref = <2500>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
&pinctrl_adc10_default &pinctrl_adc11_default
&pinctrl_adc12_default &pinctrl_adc13_default
&pinctrl_adc14_default &pinctrl_adc15_default>;
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
lm75@48 {
compatible = "national,lm75";
reg = <0x48>;
};
lm75@49 {
compatible = "national,lm75";
reg = <0x49>;
};
lm86@4c {
compatible = "national,lm86";
reg = <0x4c>;
};
};
&i2c2 {
status = "okay";
lm75@4f {
cpmpatible = "national,lm75";
reg = <0x4f>;
};
fan_ioexp: pca9535@20 {
compatible = "nxp,pca9535";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"","","presence-fan0","",
"","","presence-fan1","",
"","","presence-fan2","",
"","","presence-fan3","";
};
};
&i2c3 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
pagesize = <64>;
};
};
&i2c4 {
status = "okay";
psu@58 {
compatible = "pmbus";
reg = <0x58>;
};
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
pagesize = <1>;
};
};
&i2c5 {
status = "okay";
psu@58 {
compatible = "pmbus";
reg = <0x58>;
};
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
pagesize = <1>;
};
};
&i2c8 {
status = "okay";
};
&i2c10 {
status = "okay";
lm75@4d {
compatible = "national,lm75";
reg = <0x4d>;
};
};
&gpio0 {
status = "okay";
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "CPU_PWRGD","","","power-button","host0-ready","","presence-ps0","presence-ps1",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","reset-button","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "power-chassis-control0","power-chassis-control1","","","","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","power-chassis-good","","","";
};