Commit 2fd1a409 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'aspeed-4.21-devicetree' of...

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: default avatarOlof Johansson <olof@lixom.net>
parents 287eedda 76d0bbd8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 \
+368 −0
Original line number Diff line number Diff line
// 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";
};
+32 −7
Original line number Diff line number Diff line
@@ -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>;
+23 −1
Original line number Diff line number Diff line
@@ -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";
};
+9 −0
Original line number Diff line number Diff line
@@ -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";
};
Loading