ASPEED device tree updates for 4.20

- New machine: Facebook Backpack-CMM BMC and flash layout
 
  - OpenPower reference systems (Palmetto P8, Romulus P9) move to the
    ColdFire based FSI driver
 
  - Misc device tree updates from the OpenBMC project
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAlwHEbsACgkQa3ZZB4FH
 cJ5WVw//aro9aO6fZqk2l7TA8Umhfa/vyX+w6ShCHjsIjKnhcJo3FxeoVUoe+BdR
 cRLAorHY5M6WopxaG9TxfFvRNyaHsHIkyBWXEfKlSSnQV8YeLUTxwZ0v/O2kWNvy
 levZ42D+cZJclQvvFwTKXHut5BKsvx9M6wEhapOIIENC1bxHVCbVuXB+cWxGz0zQ
 CXkLw3QDaErSlCZzNMd2qgJP4IISqbNk1N0jMzKuO9NBwTpl4ZSZJrNT/jLOed2s
 pLF6xmk/ldzVRLj+2T5PE35d7yhpzJyNWvKHzY2Ip8PK3qtf5m5OTzfZGi/aOn2N
 rK2DSbAV1zZf6iM8rZbJvGo9FDCwLEGfu3/tZLqDcT9LrWvsEQJINA5oirHGRIaK
 Th0eaG1tOPIcAvDhMKdhIL4P8nCRLXgIq9LbaXshmpgRhPtK8yIQhvYBI6ADt+aw
 aLOo3aEpWZnrchWDBLFdd5awzEATUQmx6pda1D0MNFKeAu9nbVHNtTaVoAOveqyv
 lkuc2pNghMSw4lVCarmrfSd47tkEA7P/cYUIQ8IuNix8PUFF/LsebWkZYOloghdV
 GhLSdy0eRl6Bi67g6/XPUhzC3VwMvGBd3+IUpbZ0QG0eKI0c5lrGvr11++hVx2iZ
 HfORQhjUHx7CRthhuKofZKM2yg+ov3JT1B7/9Py5crWl+WABiao=
 =A+J2
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-4.21-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/dt

ASPEED device tree updates for 4.20

 - New machine: Facebook Backpack-CMM BMC and flash layout

 - OpenPower reference systems (Palmetto P8, Romulus P9) move to the
   ColdFire based FSI driver

 - Misc device tree updates from the OpenBMC project

* tag 'aspeed-4.21-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed:
  ARM: dts: aspeed: Add Facebook Backpack-CMM BMC
  ARM: dts: Add Facebook BMC flash layout
  ARM: dts: aspeed: wspoon: Enable iio-hwmon battery
  ARM: dts: aspeed: romulus: Enable iio-hwmon-battery
  ARM: dts: aspeed: Enable VHUB on Romulus
  ARM: dts: aspeed-palmetto: Add LPC control node
  ARM: dts: aspeed: Palmetto system can use coprocessor for FSI
  ARM: dts: aspeed: Romulus system can use coprocessor for FSI

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2018-12-11 07:59:16 -08:00
commit 2fd1a4091f
6 changed files with 475 additions and 8 deletions

View File

@ -1219,6 +1219,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-ast2500-evb.dtb \
aspeed-bmc-arm-centriq2400-rep.dtb \
aspeed-bmc-arm-stardragon4800-rep2.dtb \
aspeed-bmc-facebook-cmm.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-intel-s2600wf.dtb \
aspeed-bmc-opp-lanyang.dtb \

View File

@ -0,0 +1,368 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2018 Facebook Inc.
/dts-v1/;
#include "aspeed-g5.dtsi"
/ {
model = "Facebook Backpack CMM BMC";
compatible = "facebook,cmm-bmc", "aspeed,ast2500";
aliases {
/*
* Override the default uart aliases to avoid breaking
* the legacy applications.
*/
serial0 = &uart5;
serial1 = &uart1;
serial2 = &uart3;
serial3 = &uart4;
/*
* Hardcode the bus number of i2c switches' channels to
* avoid breaking the legacy applications.
*/
i2c16 = &imux16;
i2c17 = &imux17;
i2c18 = &imux18;
i2c19 = &imux19;
i2c20 = &imux20;
i2c21 = &imux21;
i2c22 = &imux22;
i2c23 = &imux23;
i2c24 = &imux24;
i2c25 = &imux25;
i2c26 = &imux26;
i2c27 = &imux27;
i2c28 = &imux28;
i2c29 = &imux29;
i2c30 = &imux30;
i2c31 = &imux31;
i2c32 = &imux32;
i2c33 = &imux33;
i2c34 = &imux34;
i2c35 = &imux35;
i2c36 = &imux36;
i2c37 = &imux37;
i2c38 = &imux38;
i2c39 = &imux39;
};
chosen {
stdout-path = &uart1;
bootargs = "console=ttyS1,9600n8 root=/dev/ram rw earlyprintk";
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
};
&pinctrl {
aspeed,external-nodes = <&gfx &lhc>;
};
/*
* Update reset type to "system" (full chip) to fix warm reboot hang issue
* when reset type is set to default ("soc", gated by reset mask registers).
*/
&wdt1 {
status = "okay";
aspeed,reset-type = "system";
};
/*
* wdt2 is not used by Backpack CMM.
*/
&wdt2 {
status = "disabled";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
#include "facebook-bmc-flash-layout.dtsi"
};
};
&uart1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd1_default
&pinctrl_rxd1_default
&pinctrl_ncts1_default
&pinctrl_ndcd1_default
&pinctrl_ndsr1_default
&pinctrl_ndtr1_default
&pinctrl_nrts1_default>;
};
&uart3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd3_default
&pinctrl_rxd3_default
&pinctrl_ncts3_default
&pinctrl_ndcd3_default
&pinctrl_nri3_default>;
};
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd4_default
&pinctrl_rxd4_default>;
};
&uart5 {
status = "okay";
};
&mac1 {
status = "okay";
no-hw-checksum;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
};
/*
* I2C bus reserved for communication with COM-E.
*/
&i2c0 {
status = "okay";
};
/*
* I2C bus to Line Cards and Fabric Cards.
*/
&i2c1 {
status = "okay";
i2c-switch@77 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x77>;
imux16: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux17: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux18: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux19: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux20: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux21: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux22: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux23: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
/*
* I2C bus to Power Distribution Board.
*/
&i2c2 {
status = "okay";
i2c-switch@71 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x71>;
imux24: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux25: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux26: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux27: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux28: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux29: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux30: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux31: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
/*
* I2c bus connected with temperature sensors on CMM.
*/
&i2c3 {
status = "okay";
};
/*
* I2C bus reserved for communication with COM-E.
*/
&i2c4 {
status = "okay";
};
/*
* I2c bus connected with ADM1278.
*/
&i2c5 {
status = "okay";
};
/*
* I2c bus connected with I/O Expander.
*/
&i2c6 {
status = "okay";
};
/*
* I2c bus connected with I/O Expander and EPROMs.
*/
&i2c7 {
status = "okay";
};
/*
* I2C bus to Fan Control Board.
*/
&i2c8 {
status = "okay";
i2c-switch@77 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x77>;
imux32: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux33: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux34: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux35: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux36: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux37: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux38: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux39: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
/*
* I2C bus to CMM CPLD.
*/
&i2c13 {
status = "okay";
};
&adc {
status = "okay";
};

View File

@ -26,6 +26,16 @@
no-map;
reg = <0x5f000000 0x01000000>; /* 16M */
};
coldfire_memory: codefire_memory@5ee00000 {
reg = <0x5ee00000 0x00200000>;
no-map;
};
flash_memory: region@98000000 {
no-map;
reg = <0x98000000 0x01000000>; /* 16MB */
};
};
leds {
@ -44,6 +54,22 @@
};
};
fsi: gpio-fsi {
compatible = "aspeed,ast2400-cf-fsi-master", "fsi-master";
#address-cells = <2>;
#size-cells = <0>;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;
aspeed,cvic = <&cvic>;
clock-gpios = <&gpio ASPEED_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
data-gpios = <&gpio ASPEED_GPIO(A, 5) GPIO_ACTIVE_HIGH>;
mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
trans-gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
};
gpio-keys {
compatible = "gpio-keys";
@ -169,6 +195,12 @@
status = "okay";
};
&lpc_ctrl {
status = "okay";
memory-region = <&flash_memory>;
flash = <&spi>;
};
&gpio {
pin_func_mode0 {
gpio-hog;
@ -303,13 +335,6 @@
line-name = "SYS_PWROK_BMC";
};
pin_gpio_h6 {
gpio-hog;
gpios = <ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SCM1_FSI0_DATA_EN";
};
pin_gpio_h7 {
gpio-hog;
gpios = <ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;

View File

@ -30,6 +30,11 @@
no-map;
reg = <0x98000000 0x04000000>; /* 64M */
};
coldfire_memory: codefire_memory@9ef00000 {
reg = <0x9ef00000 0x00100000>;
no-map;
};
};
leds {
@ -49,11 +54,15 @@
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;
aspeed,cvic = <&cvic>;
clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
@ -76,6 +85,11 @@
linux,code = <ASPEED_GPIO(Q, 7)>;
};
};
iio-hwmon-battery {
compatible = "iio-hwmon";
io-channels = <&adc 12>;
};
};
&fmc {
@ -274,3 +288,11 @@
&ibt {
status = "okay";
};
&vhub {
status = "okay";
};
&adc {
status = "okay";
};

View File

@ -56,6 +56,11 @@
};
};
iio-hwmon-battery {
compatible = "iio-hwmon";
io-channels = <&adc 12>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
@ -583,3 +588,7 @@
&ibt {
status = "okay";
};
&adc {
status = "okay";
};

View File

@ -0,0 +1,42 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2018 Facebook Inc.
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
u-boot@0 {
reg = <0x0 0x60000>;
label = "u-boot";
};
u-boot-env@60000 {
reg = <0x60000 0x20000>;
label = "env";
};
fit@80000 {
reg = <0x80000 0x1b80000>;
label = "fit";
};
/*
* "data0" partition is used by several Facebook BMC platforms
* as persistent data store.
*/
data0@1c00000 {
reg = <0x1c00000 0x400000>;
label = "data0";
};
/*
* Although the master partition can be created by enabling
* MTD_PARTITIONED_MASTER option, below "flash0" partition is
* explicitly created to avoid breaking legacy applications.
*/
flash0@0 {
reg = <0x0 0x2000000>;
label = "flash0";
};
};