[Pdbg] [PATCH] main: Add P8 kernel devicetree
Amitay Isaacs
amitay at ozlabs.org
Tue Aug 7 18:08:59 AEST 2018
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
This makes palmettos use kernel backend on bmc using coldfire driver.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
---
Makefile.am | 3 ++-
p8-kernel.dts.m4 | 45 +++++++++++++++++++++++++++++++++++++++++++++
src/main.c | 10 +++++++++-
3 files changed, 56 insertions(+), 2 deletions(-)
create mode 100644 p8-kernel.dts.m4
diff --git a/Makefile.am b/Makefile.am
index e2783f1..2e3d67e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,6 +14,7 @@ EXTRA_DIST = \
p8-fsi.dts.m4 \
p8-host.dts.m4 \
p8-i2c.dts.m4 \
+ p8-kernel.dts.m4 \
p8-pib.dts.m4 \
p9-fsi.dtsi.m4 \
p9-host.dts.m4 \
@@ -26,7 +27,7 @@ EXTRA_DIST = \
generate_dt_header.sh
if TARGET_ARM
-DT_ARM = p8-fsi.dts p8-i2c.dts \
+DT_ARM = p8-fsi.dts p8-i2c.dts p8-kernel.dts \
p9w-fsi.dts p9r-fsi.dts p9z-fsi.dts p9-kernel.dts
ARCH_FLAGS="-DTARGET_ARM=1"
endif
diff --git a/p8-kernel.dts.m4 b/p8-kernel.dts.m4
new file mode 100644
index 0000000..4a59b78
--- /dev/null
+++ b/p8-kernel.dts.m4
@@ -0,0 +1,45 @@
+/dts-v1/;
+
+/ {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ fsi0: kernelfsi at 0 {
+ #address-cells = <0x2>;
+ #size-cells = <0x1>;
+ compatible = "ibm,kernel-fsi";
+ reg = <0x0 0x0 0x0>;
+
+ index = <0x0>;
+ status = "mustexist";
+
+ pib at 1000 {
+ #address-cells = <0x2>;
+ #size-cells = <0x1>;
+ reg = <0x0 0x1000 0x7>;
+ index = <0x0>;
+ compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib";
+ include(p8-pib.dts.m4)dnl
+ };
+
+ hmfsi at 100000 {
+ #address-cells = <0x2>;
+ #size-cells = <0x1>;
+ compatible = "ibm,fsi-hmfsi";
+ reg = <0x0 0x100000 0x8000>;
+ port = <0x1>;
+ index = <0x1>;
+
+ pib at 1000 {
+ #address-cells = <0x2>;
+ #size-cells = <0x1>;
+ reg = <0x0 0x1000 0x7>;
+ compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib";
+ index = <0x1>;
+ include(p8-pib.dts.m4)dnl
+ };
+
+ };
+ };
+};
+
diff --git a/src/main.c b/src/main.c
index fcdab67..2330007 100644
--- a/src/main.c
+++ b/src/main.c
@@ -46,6 +46,7 @@
#ifdef TARGET_ARM
#include "p8-i2c.dt.h"
#include "p8-fsi.dt.h"
+#include "p8-kernel.dt.h"
#include "p9w-fsi.dt.h"
#include "p9r-fsi.dt.h"
#include "p9z-fsi.dt.h"
@@ -619,7 +620,14 @@ static int target_selection(void)
break;
case KERNEL:
- pdbg_targets_init(&_binary_p9_kernel_dtb_o_start);
+ if (device_node == NULL) {
+ PR_ERROR("kernel backend requires a device type\n");
+ return -1;
+ }
+ if (!strcmp(device_node, "p8"))
+ pdbg_targets_init(&_binary_p8_kernel_dtb_o_start);
+ else
+ pdbg_targets_init(&_binary_p9_kernel_dtb_o_start);
break;
#endif
--
2.17.1
More information about the Pdbg
mailing list