[PATCH] arm/dts/aspeed: Add minimal Facebook CMM BMC board based on AST2500
Matthew Conolly
mattconolly at fb.com
Thu Aug 4 09:07:31 AEST 2016
A minimal device tree to let the CMM bmc board boot to a console over UART with some drivers functional
Signed-off-by: Matthew Conolly <mattconolly at fb.com>
---
arch/arm/boot/dts/Makefile | 1 +
.../dts/aspeed-bmc-facebook-cmm-flash-layout.dtsi | 24 +++++
arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dts | 112 +++++++++++++++++++++
arch/arm/mach-aspeed/aspeed.c | 5 +-
4 files changed, 140 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-facebook-cmm-flash-layout.dtsi
create mode 100644 arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 3c27d57..21fe59b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -843,6 +843,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
aspeed-bmc-opp-barreleye.dtb \
aspeed-bmc-opp-firestone.dtb \
aspeed-bmc-opp-garrison.dtb \
+ aspeed-bmc-facebook-cmm.dtb \
aspeed-ast2500-evb.dtb
endif
diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-cmm-flash-layout.dtsi b/arch/arm/boot/dts/aspeed-bmc-facebook-cmm-flash-layout.dtsi
new file mode 100644
index 0000000..1b3133f
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-cmm-flash-layout.dtsi
@@ -0,0 +1,24 @@
+/* This file is the label for the bmc primary flash and its partitions */
+ label = "bmc";
+ #address-cells = < 1 >;
+ #size-cells = < 1 >;
+ u-boot {
+ reg = < 0 0x80000 >;
+ label = "u-boot";
+ };
+ u-boot-env {
+ reg = < 0x60000 0x20000 >;
+ label = "u-boot-env";
+ };
+ kernel {
+ reg = < 0x80000 0x280000 >;
+ label = "kernel";
+ };
+ initramfs {
+ reg = < 0x300000 0x300000 >;
+ label = "initramfs";
+ };
+ pd_rootfs {
+ reg = < 0x4c0000 0x1740000 >;
+ label = "pd_rootfs";
+ };
diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dts b/arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dts
new file mode 100644
index 0000000..4ea8e7e
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-cmm.dts
@@ -0,0 +1,112 @@
+/dts-v1/;
+
+#include "aspeed-g5.dtsi"
+
+/ {
+ model = "FACEBOOK CMM BMC";
+ compatible = "facebook,cmm-bmc", "aspeed,ast2500";
+
+ aliases {
+ serial1 = &uart1;
+ };
+
+ chosen {
+ stdout-path = &uart1;
+ bootargs = "console=ttyS1,115200 earlyprintk";
+ };
+
+ memory {
+ reg = <0x80000000 0x3f000000>;
+ };
+
+ ahb {
+ bmc_pnor: fmc at 1e620000 {
+ reg = < 0x1e620000 0x94
+ 0x20000000 0x02000000 >;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "aspeed,fmc";
+ flash at 0 {
+ reg = < 0 >;
+ compatible = "jedec,spi-nor" ;
+#include "aspeed-bmc-facebook-cmm-flash-layout.dtsi"
+ };
+ };
+ };
+
+
+
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&mac0 {
+ status = "disabled";
+};
+
+&mac1 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ status = "okay";
+
+// eeprom at 50 {
+// compatible = "atmel,24c08";
+// reg = <0xa0>;
+// };
+};
+
+&i2c6 {
+ status = "okay";
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&i2c8 {
+ status = "okay";
+};
+
+&i2c9 {
+ status = "okay";
+};
+
+&i2c10 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ status = "okay";
+};
+
+&i2c13 {
+ status = "okay";
+};
diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c
index db540ac..da03fed 100644
--- a/arch/arm/mach-aspeed/aspeed.c
+++ b/arch/arm/mach-aspeed/aspeed.c
@@ -202,8 +202,9 @@ static void __init do_ast2500evb_setup(void)
static void __init aspeed_init_early(void)
{
- // XXX UART stuff to fix to pinmux & co
- writel(0x02010023, AST_IO(AST_BASE_LPC | 0x9c));
+ if (!of_machine_is_compatible("facebook,cmm-bmc"))
+ /* XXX UART stuff to fix to pinmux & co */
+ writel(0x02010023, AST_IO(AST_BASE_LPC | 0x9c));
/* Unlock SCU */
writel(SCU_PASSWORD, AST_IO(AST_BASE_SCU));
--
2.8.0.rc2
More information about the openbmc
mailing list