Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 558d8181 authored by Olof Johansson's avatar Olof Johansson
Browse files

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

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

Aspeed devicetree updates for 4.11

This introduces the first OpenPower Power9 BMC system, Romulus. Romulus is
based on the ast2500 SoC from Aspeed.

These commits also add newly upstreamed drivers to the Palmetto BMC and ast2500
eval board. We now have working network, ipmi bt, gpio and pinmux on all platforms.

* tag 'aspeed-4.11-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed

:
  ARM: dts: aspeed: Add Romulus BMC platform
  ARM: dts: aspeed: Add ftgmac100 to g4 and g5 platforms
  ARM: dts: aspeed: Correct palmetto device tree
  ARM: dts: aspeed: Reserve framebuffer memory
  ARM: dts: aspeed-g5: Add gpio controller to devicetree
  ARM: dts: aspeed-g5: Add syscon and pin controller nodes
  ARM: dts: aspeed-g5: Add LPC Controller node
  ARM: dts: aspeed-g5: Add SoC Display Controller node
  ARM: dts: aspeed-g4: Add gpio controller to devicetree
  ARM: dts: aspeed-g4: Add syscon and pin controller nodes

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 28e603b2 8f9bafbb
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -987,6 +987,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
	mt8135-evbp1.dtb
	mt8135-evbp1.dtb
dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
	aspeed-bmc-opp-romulus.dtb \
	aspeed-ast2500-evb.dtb
	aspeed-ast2500-evb.dtb
endif
endif


+14 −0
Original line number Original line Diff line number Diff line
@@ -23,3 +23,17 @@
&uart5 {
&uart5 {
	status = "okay";
	status = "okay";
};
};

&mac0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
};

&mac1 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
};
+22 −2
Original line number Original line Diff line number Diff line
@@ -12,14 +12,34 @@


	chosen {
	chosen {
		stdout-path = &uart5;
		stdout-path = &uart5;
		bootargs = "console=ttyS4,38400 earlyprintk";
		bootargs = "console=ttyS4,115200 earlyprintk";
	};
	};


	memory {
	memory {
		reg = <0x40000000 0x10000000>;
		reg = <0x40000000 0x20000000>;
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		vga_memory: framebuffer@5f000000 {
			no-map;
			reg = <0x5f000000 0x01000000>; /* 16M */
		};
	};
	};
};
};


&uart5 {
&uart5 {
	status = "okay";
	status = "okay";
};
};

&mac0 {
	status = "okay";

	use-ncsi;

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii1_default>;
};
+45 −0
Original line number Original line Diff line number Diff line
/dts-v1/;

#include "aspeed-g5.dtsi"

/ {
	model = "Romulus BMC";
	compatible = "ibm,romulus-bmc", "aspeed,ast2500";

	aliases {
		serial4 = &uart5;
	};

	chosen {
		stdout-path = &uart5;
		bootargs = "console=ttyS4,115200 earlyprintk";
	};

	memory {
		reg = <0x80000000 0x40000000>;
	};

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		vga_memory: framebuffer@bf000000 {
			no-map;
			reg = <0xbf000000 0x01000000>; /* 16M */
		};
	};
};

&uart5 {
	status = "okay";
};

&mac0 {
	status = "okay";

	use-ncsi;

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii1_default>;
};
+776 −0
Original line number Original line Diff line number Diff line
@@ -41,6 +41,22 @@
			reg = <0x1e6c0080 0x80>;
			reg = <0x1e6c0080 0x80>;
		};
		};


		mac0: ethernet@1e660000 {
			compatible = "faraday,ftgmac100";
			reg = <0x1e660000 0x180>;
			interrupts = <2>;
			no-hw-checksum;
			status = "disabled";
		};

		mac1: ethernet@1e680000 {
			compatible = "faraday,ftgmac100";
			reg = <0x1e680000 0x180>;
			interrupts = <3>;
			no-hw-checksum;
			status = "disabled";
		};

		apb {
		apb {
			compatible = "simple-bus";
			compatible = "simple-bus";
			#address-cells = <1>;
			#address-cells = <1>;
@@ -54,6 +70,756 @@
				clocks = <&clk_clkin>;
				clocks = <&clk_clkin>;
			};
			};


			syscon: syscon@1e6e2000 {
				compatible = "aspeed,g4-scu", "syscon", "simple-mfd";
				reg = <0x1e6e2000 0x1a8>;

				pinctrl: pinctrl {
					compatible = "aspeed,g4-pinctrl";

					pinctrl_acpi_default: acpi_default {
						function = "ACPI";
						groups = "ACPI";
					};

					pinctrl_adc0_default: adc0_default {
						function = "ADC0";
						groups = "ADC0";
					};

					pinctrl_adc1_default: adc1_default {
						function = "ADC1";
						groups = "ADC1";
					};

					pinctrl_adc10_default: adc10_default {
						function = "ADC10";
						groups = "ADC10";
					};

					pinctrl_adc11_default: adc11_default {
						function = "ADC11";
						groups = "ADC11";
					};

					pinctrl_adc12_default: adc12_default {
						function = "ADC12";
						groups = "ADC12";
					};

					pinctrl_adc13_default: adc13_default {
						function = "ADC13";
						groups = "ADC13";
					};

					pinctrl_adc14_default: adc14_default {
						function = "ADC14";
						groups = "ADC14";
					};

					pinctrl_adc15_default: adc15_default {
						function = "ADC15";
						groups = "ADC15";
					};

					pinctrl_adc2_default: adc2_default {
						function = "ADC2";
						groups = "ADC2";
					};

					pinctrl_adc3_default: adc3_default {
						function = "ADC3";
						groups = "ADC3";
					};

					pinctrl_adc4_default: adc4_default {
						function = "ADC4";
						groups = "ADC4";
					};

					pinctrl_adc5_default: adc5_default {
						function = "ADC5";
						groups = "ADC5";
					};

					pinctrl_adc6_default: adc6_default {
						function = "ADC6";
						groups = "ADC6";
					};

					pinctrl_adc7_default: adc7_default {
						function = "ADC7";
						groups = "ADC7";
					};

					pinctrl_adc8_default: adc8_default {
						function = "ADC8";
						groups = "ADC8";
					};

					pinctrl_adc9_default: adc9_default {
						function = "ADC9";
						groups = "ADC9";
					};

					pinctrl_bmcint_default: bmcint_default {
						function = "BMCINT";
						groups = "BMCINT";
					};

					pinctrl_ddcclk_default: ddcclk_default {
						function = "DDCCLK";
						groups = "DDCCLK";
					};

					pinctrl_ddcdat_default: ddcdat_default {
						function = "DDCDAT";
						groups = "DDCDAT";
					};

					pinctrl_extrst_default: extrst_default {
						function = "EXTRST";
						groups = "EXTRST";
					};

					pinctrl_flack_default: flack_default {
						function = "FLACK";
						groups = "FLACK";
					};

					pinctrl_flbusy_default: flbusy_default {
						function = "FLBUSY";
						groups = "FLBUSY";
					};

					pinctrl_flwp_default: flwp_default {
						function = "FLWP";
						groups = "FLWP";
					};

					pinctrl_gpid_default: gpid_default {
						function = "GPID";
						groups = "GPID";
					};

					pinctrl_gpid0_default: gpid0_default {
						function = "GPID0";
						groups = "GPID0";
					};

					pinctrl_gpid2_default: gpid2_default {
						function = "GPID2";
						groups = "GPID2";
					};

					pinctrl_gpid4_default: gpid4_default {
						function = "GPID4";
						groups = "GPID4";
					};

					pinctrl_gpid6_default: gpid6_default {
						function = "GPID6";
						groups = "GPID6";
					};

					pinctrl_gpie0_default: gpie0_default {
						function = "GPIE0";
						groups = "GPIE0";
					};

					pinctrl_gpie2_default: gpie2_default {
						function = "GPIE2";
						groups = "GPIE2";
					};

					pinctrl_gpie4_default: gpie4_default {
						function = "GPIE4";
						groups = "GPIE4";
					};

					pinctrl_gpie6_default: gpie6_default {
						function = "GPIE6";
						groups = "GPIE6";
					};

					pinctrl_i2c10_default: i2c10_default {
						function = "I2C10";
						groups = "I2C10";
					};

					pinctrl_i2c11_default: i2c11_default {
						function = "I2C11";
						groups = "I2C11";
					};

					pinctrl_i2c12_default: i2c12_default {
						function = "I2C12";
						groups = "I2C12";
					};

					pinctrl_i2c13_default: i2c13_default {
						function = "I2C13";
						groups = "I2C13";
					};

					pinctrl_i2c14_default: i2c14_default {
						function = "I2C14";
						groups = "I2C14";
					};

					pinctrl_i2c3_default: i2c3_default {
						function = "I2C3";
						groups = "I2C3";
					};

					pinctrl_i2c4_default: i2c4_default {
						function = "I2C4";
						groups = "I2C4";
					};

					pinctrl_i2c5_default: i2c5_default {
						function = "I2C5";
						groups = "I2C5";
					};

					pinctrl_i2c6_default: i2c6_default {
						function = "I2C6";
						groups = "I2C6";
					};

					pinctrl_i2c7_default: i2c7_default {
						function = "I2C7";
						groups = "I2C7";
					};

					pinctrl_i2c8_default: i2c8_default {
						function = "I2C8";
						groups = "I2C8";
					};

					pinctrl_i2c9_default: i2c9_default {
						function = "I2C9";
						groups = "I2C9";
					};

					pinctrl_lpcpd_default: lpcpd_default {
						function = "LPCPD";
						groups = "LPCPD";
					};

					pinctrl_lpcpme_default: lpcpme_default {
						function = "LPCPME";
						groups = "LPCPME";
					};

					pinctrl_lpcrst_default: lpcrst_default {
						function = "LPCRST";
						groups = "LPCRST";
					};

					pinctrl_lpcsmi_default: lpcsmi_default {
						function = "LPCSMI";
						groups = "LPCSMI";
					};

					pinctrl_mac1link_default: mac1link_default {
						function = "MAC1LINK";
						groups = "MAC1LINK";
					};

					pinctrl_mac2link_default: mac2link_default {
						function = "MAC2LINK";
						groups = "MAC2LINK";
					};

					pinctrl_mdio1_default: mdio1_default {
						function = "MDIO1";
						groups = "MDIO1";
					};

					pinctrl_mdio2_default: mdio2_default {
						function = "MDIO2";
						groups = "MDIO2";
					};

					pinctrl_ncts1_default: ncts1_default {
						function = "NCTS1";
						groups = "NCTS1";
					};

					pinctrl_ncts2_default: ncts2_default {
						function = "NCTS2";
						groups = "NCTS2";
					};

					pinctrl_ncts3_default: ncts3_default {
						function = "NCTS3";
						groups = "NCTS3";
					};

					pinctrl_ncts4_default: ncts4_default {
						function = "NCTS4";
						groups = "NCTS4";
					};

					pinctrl_ndcd1_default: ndcd1_default {
						function = "NDCD1";
						groups = "NDCD1";
					};

					pinctrl_ndcd2_default: ndcd2_default {
						function = "NDCD2";
						groups = "NDCD2";
					};

					pinctrl_ndcd3_default: ndcd3_default {
						function = "NDCD3";
						groups = "NDCD3";
					};

					pinctrl_ndcd4_default: ndcd4_default {
						function = "NDCD4";
						groups = "NDCD4";
					};

					pinctrl_ndsr1_default: ndsr1_default {
						function = "NDSR1";
						groups = "NDSR1";
					};

					pinctrl_ndsr2_default: ndsr2_default {
						function = "NDSR2";
						groups = "NDSR2";
					};

					pinctrl_ndsr3_default: ndsr3_default {
						function = "NDSR3";
						groups = "NDSR3";
					};

					pinctrl_ndsr4_default: ndsr4_default {
						function = "NDSR4";
						groups = "NDSR4";
					};

					pinctrl_ndtr1_default: ndtr1_default {
						function = "NDTR1";
						groups = "NDTR1";
					};

					pinctrl_ndtr2_default: ndtr2_default {
						function = "NDTR2";
						groups = "NDTR2";
					};

					pinctrl_ndtr3_default: ndtr3_default {
						function = "NDTR3";
						groups = "NDTR3";
					};

					pinctrl_ndtr4_default: ndtr4_default {
						function = "NDTR4";
						groups = "NDTR4";
					};

					pinctrl_ndts4_default: ndts4_default {
						function = "NDTS4";
						groups = "NDTS4";
					};

					pinctrl_nri1_default: nri1_default {
						function = "NRI1";
						groups = "NRI1";
					};

					pinctrl_nri2_default: nri2_default {
						function = "NRI2";
						groups = "NRI2";
					};

					pinctrl_nri3_default: nri3_default {
						function = "NRI3";
						groups = "NRI3";
					};

					pinctrl_nri4_default: nri4_default {
						function = "NRI4";
						groups = "NRI4";
					};

					pinctrl_nrts1_default: nrts1_default {
						function = "NRTS1";
						groups = "NRTS1";
					};

					pinctrl_nrts2_default: nrts2_default {
						function = "NRTS2";
						groups = "NRTS2";
					};

					pinctrl_nrts3_default: nrts3_default {
						function = "NRTS3";
						groups = "NRTS3";
					};

					pinctrl_oscclk_default: oscclk_default {
						function = "OSCCLK";
						groups = "OSCCLK";
					};

					pinctrl_pwm0_default: pwm0_default {
						function = "PWM0";
						groups = "PWM0";
					};

					pinctrl_pwm1_default: pwm1_default {
						function = "PWM1";
						groups = "PWM1";
					};

					pinctrl_pwm2_default: pwm2_default {
						function = "PWM2";
						groups = "PWM2";
					};

					pinctrl_pwm3_default: pwm3_default {
						function = "PWM3";
						groups = "PWM3";
					};

					pinctrl_pwm4_default: pwm4_default {
						function = "PWM4";
						groups = "PWM4";
					};

					pinctrl_pwm5_default: pwm5_default {
						function = "PWM5";
						groups = "PWM5";
					};

					pinctrl_pwm6_default: pwm6_default {
						function = "PWM6";
						groups = "PWM6";
					};

					pinctrl_pwm7_default: pwm7_default {
						function = "PWM7";
						groups = "PWM7";
					};

					pinctrl_rgmii1_default: rgmii1_default {
						function = "RGMII1";
						groups = "RGMII1";
					};

					pinctrl_rgmii2_default: rgmii2_default {
						function = "RGMII2";
						groups = "RGMII2";
					};

					pinctrl_rmii1_default: rmii1_default {
						function = "RMII1";
						groups = "RMII1";
					};

					pinctrl_rmii2_default: rmii2_default {
						function = "RMII2";
						groups = "RMII2";
					};

					pinctrl_rom16_default: rom16_default {
						function = "ROM16";
						groups = "ROM16";
					};

					pinctrl_rom8_default: rom8_default {
						function = "ROM8";
						groups = "ROM8";
					};

					pinctrl_romcs1_default: romcs1_default {
						function = "ROMCS1";
						groups = "ROMCS1";
					};

					pinctrl_romcs2_default: romcs2_default {
						function = "ROMCS2";
						groups = "ROMCS2";
					};

					pinctrl_romcs3_default: romcs3_default {
						function = "ROMCS3";
						groups = "ROMCS3";
					};

					pinctrl_romcs4_default: romcs4_default {
						function = "ROMCS4";
						groups = "ROMCS4";
					};

					pinctrl_rxd1_default: rxd1_default {
						function = "RXD1";
						groups = "RXD1";
					};

					pinctrl_rxd2_default: rxd2_default {
						function = "RXD2";
						groups = "RXD2";
					};

					pinctrl_rxd3_default: rxd3_default {
						function = "RXD3";
						groups = "RXD3";
					};

					pinctrl_rxd4_default: rxd4_default {
						function = "RXD4";
						groups = "RXD4";
					};

					pinctrl_salt1_default: salt1_default {
						function = "SALT1";
						groups = "SALT1";
					};

					pinctrl_salt2_default: salt2_default {
						function = "SALT2";
						groups = "SALT2";
					};

					pinctrl_salt3_default: salt3_default {
						function = "SALT3";
						groups = "SALT3";
					};

					pinctrl_salt4_default: salt4_default {
						function = "SALT4";
						groups = "SALT4";
					};

					pinctrl_sd1_default: sd1_default {
						function = "SD1";
						groups = "SD1";
					};

					pinctrl_sd2_default: sd2_default {
						function = "SD2";
						groups = "SD2";
					};

					pinctrl_sgpmck_default: sgpmck_default {
						function = "SGPMCK";
						groups = "SGPMCK";
					};

					pinctrl_sgpmi_default: sgpmi_default {
						function = "SGPMI";
						groups = "SGPMI";
					};

					pinctrl_sgpmld_default: sgpmld_default {
						function = "SGPMLD";
						groups = "SGPMLD";
					};

					pinctrl_sgpmo_default: sgpmo_default {
						function = "SGPMO";
						groups = "SGPMO";
					};

					pinctrl_sgpsck_default: sgpsck_default {
						function = "SGPSCK";
						groups = "SGPSCK";
					};

					pinctrl_sgpsi0_default: sgpsi0_default {
						function = "SGPSI0";
						groups = "SGPSI0";
					};

					pinctrl_sgpsi1_default: sgpsi1_default {
						function = "SGPSI1";
						groups = "SGPSI1";
					};

					pinctrl_sgpsld_default: sgpsld_default {
						function = "SGPSLD";
						groups = "SGPSLD";
					};

					pinctrl_sioonctrl_default: sioonctrl_default {
						function = "SIOONCTRL";
						groups = "SIOONCTRL";
					};

					pinctrl_siopbi_default: siopbi_default {
						function = "SIOPBI";
						groups = "SIOPBI";
					};

					pinctrl_siopbo_default: siopbo_default {
						function = "SIOPBO";
						groups = "SIOPBO";
					};

					pinctrl_siopwreq_default: siopwreq_default {
						function = "SIOPWREQ";
						groups = "SIOPWREQ";
					};

					pinctrl_siopwrgd_default: siopwrgd_default {
						function = "SIOPWRGD";
						groups = "SIOPWRGD";
					};

					pinctrl_sios3_default: sios3_default {
						function = "SIOS3";
						groups = "SIOS3";
					};

					pinctrl_sios5_default: sios5_default {
						function = "SIOS5";
						groups = "SIOS5";
					};

					pinctrl_siosci_default: siosci_default {
						function = "SIOSCI";
						groups = "SIOSCI";
					};

					pinctrl_spi1_default: spi1_default {
						function = "SPI1";
						groups = "SPI1";
					};

					pinctrl_spi1debug_default: spi1debug_default {
						function = "SPI1DEBUG";
						groups = "SPI1DEBUG";
					};

					pinctrl_spi1passthru_default: spi1passthru_default {
						function = "SPI1PASSTHRU";
						groups = "SPI1PASSTHRU";
					};

					pinctrl_spics1_default: spics1_default {
						function = "SPICS1";
						groups = "SPICS1";
					};

					pinctrl_timer3_default: timer3_default {
						function = "TIMER3";
						groups = "TIMER3";
					};

					pinctrl_timer4_default: timer4_default {
						function = "TIMER4";
						groups = "TIMER4";
					};

					pinctrl_timer5_default: timer5_default {
						function = "TIMER5";
						groups = "TIMER5";
					};

					pinctrl_timer6_default: timer6_default {
						function = "TIMER6";
						groups = "TIMER6";
					};

					pinctrl_timer7_default: timer7_default {
						function = "TIMER7";
						groups = "TIMER7";
					};

					pinctrl_timer8_default: timer8_default {
						function = "TIMER8";
						groups = "TIMER8";
					};

					pinctrl_txd1_default: txd1_default {
						function = "TXD1";
						groups = "TXD1";
					};

					pinctrl_txd2_default: txd2_default {
						function = "TXD2";
						groups = "TXD2";
					};

					pinctrl_txd3_default: txd3_default {
						function = "TXD3";
						groups = "TXD3";
					};

					pinctrl_txd4_default: txd4_default {
						function = "TXD4";
						groups = "TXD4";
					};

					pinctrl_uart6_default: uart6_default {
						function = "UART6";
						groups = "UART6";
					};

					pinctrl_usbcki_default: usbcki_default {
						function = "USBCKI";
						groups = "USBCKI";
					};

					pinctrl_vgabios_rom_default: vgabios_rom_default {
						function = "VGABIOS_ROM";
						groups = "VGABIOS_ROM";
					};

					pinctrl_vgahs_default: vgahs_default {
						function = "VGAHS";
						groups = "VGAHS";
					};

					pinctrl_vgavs_default: vgavs_default {
						function = "VGAVS";
						groups = "VGAVS";
					};

					pinctrl_vpi18_default: vpi18_default {
						function = "VPI18";
						groups = "VPI18";
					};

					pinctrl_vpi24_default: vpi24_default {
						function = "VPI24";
						groups = "VPI24";
					};

					pinctrl_vpi30_default: vpi30_default {
						function = "VPI30";
						groups = "VPI30";
					};

					pinctrl_vpo12_default: vpo12_default {
						function = "VPO12";
						groups = "VPO12";
					};

					pinctrl_vpo24_default: vpo24_default {
						function = "VPO24";
						groups = "VPO24";
					};

					pinctrl_wdtrst1_default: wdtrst1_default {
						function = "WDTRST1";
						groups = "WDTRST1";
					};

					pinctrl_wdtrst2_default: wdtrst2_default {
						function = "WDTRST2";
						groups = "WDTRST2";
					};

				};
			};

			clk_apb: clk_apb@1e6e2008 {
			clk_apb: clk_apb@1e6e2008 {
				#clock-cells = <0>;
				#clock-cells = <0>;
				compatible = "aspeed,g4-apb-clock";
				compatible = "aspeed,g4-apb-clock";
@@ -72,6 +838,16 @@
				reg = <0x1e720000 0x8000>;	// 32K
				reg = <0x1e720000 0x8000>;	// 32K
			};
			};


			gpio: gpio@1e780000 {
				#gpio-cells = <2>;
				gpio-controller;
				compatible = "aspeed,ast2400-gpio";
				reg = <0x1e780000 0x1000>;
				interrupts = <20>;
				gpio-ranges = <&pinctrl 0 0 220>;
				interrupt-controller;
			};

			timer: timer@1e782000 {
			timer: timer@1e782000 {
				compatible = "aspeed,ast2400-timer";
				compatible = "aspeed,ast2400-timer";
				reg = <0x1e782000 0x90>;
				reg = <0x1e782000 0x90>;
Loading