summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaptor Engineering Development Team <support@raptorengineering.com>2018-01-17 17:40:55 -0600
committerRaptor Engineering Development Team <support@raptorengineering.com>2018-04-13 05:59:05 -0500
commit9df0dbd46d3e06a22627de0e6d61613956ee6302 (patch)
tree88195103e361e78749b02f9418654b696eec7abf
parent5ebdda2a05515d41c7b89e490b7f8a82e7e2413e (diff)
downloadpdbg-9df0dbd46d3e06a22627de0e6d61613956ee6302.tar.gz
pdbg-9df0dbd46d3e06a22627de0e6d61613956ee6302.zip
Add Talos support
-rw-r--r--Makefile.am3
-rw-r--r--libpdbg/operations.h2
-rw-r--r--p9t-fsi.dts16
-rw-r--r--src/main.c4
-rw-r--r--src/options_arm.c4
5 files changed, 27 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 4156b21..4f2d2ed 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,7 +15,7 @@ pdbg_SOURCES = \
src/htm.c src/options_@ARCH@.c
pdbg_LDADD = fake.dtb.o p8-fsi.dtb.o p8-i2c.dtb.o p9w-fsi.dtb.o p8-host.dtb.o \
- p9z-fsi.dtb.o p9r-fsi.dtb.o p9-kernel.dtb.o libpdbg.la libfdt.la \
+ p9z-fsi.dtb.o p9r-fsi.dtb.o p9t-fsi.dtb.o p9-kernel.dtb.o libpdbg.la libfdt.la \
p9-host.dtb.o \
-L.libs
@@ -70,6 +70,7 @@ DTC_V_0 = @echo " DTC " $@;
p9w-fsi.dtb: p9w-fsi.dts p9-fsi.dtsi
p9r-fsi.dtb: p9r-fsi.dts p9-fsi.dtsi
+p9t-fsi.dtb: p9t-fsi.dts p9-fsi.dtsi
p9z-fsi.dtb: p9z-fsi.dts p9-fsi.dtsi
%.dtb: %.dts
diff --git a/libpdbg/operations.h b/libpdbg/operations.h
index a0b7f01..b022b81 100644
--- a/libpdbg/operations.h
+++ b/libpdbg/operations.h
@@ -56,7 +56,7 @@ int adu_putmem(struct pdbg_target *target, uint64_t start_addr, uint8_t *input,
/* GDB server functionality */
int gdbserver_start(uint16_t port);
-enum fsi_system_type {FSI_SYSTEM_P8, FSI_SYSTEM_P9W, FSI_SYSTEM_P9R, FSI_SYSTEM_P9Z};
+enum fsi_system_type {FSI_SYSTEM_P8, FSI_SYSTEM_P9W, FSI_SYSTEM_P9R, FSI_SYSTEM_P9T, FSI_SYSTEM_P9Z};
enum chip_type get_chip_type(uint64_t chip_id);
#endif
diff --git a/p9t-fsi.dts b/p9t-fsi.dts
new file mode 100644
index 0000000..2165bae
--- /dev/null
+++ b/p9t-fsi.dts
@@ -0,0 +1,16 @@
+/dts-v1/;
+
+/include/ "p9-fsi.dtsi"
+
+/ {
+};
+
+&fsi0 {
+ /* GPIO pin definitions */
+ fsi_clk = <0x1e0 0x10>; /* AA0 */
+ fsi_dat = <0x1e0 0x12>; /* AA2 */
+ fsi_dat_en = <0x80 0xa>; /* R2 */
+ fsi_enable = <0x0 0x18>; /* D0 */
+ cronus_sel = <0x0 0x6>; /* A6 */
+ clock_delay = <0x14>;
+};
diff --git a/src/main.c b/src/main.c
index 121e4ad..f40b88e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -307,6 +307,8 @@ extern unsigned char _binary_p9w_fsi_dtb_o_start;
extern unsigned char _binary_p9w_fsi_dtb_o_end;
extern unsigned char _binary_p9r_fsi_dtb_o_start;
extern unsigned char _binary_p9r_fsi_dtb_o_end;
+extern unsigned char _binary_p9t_fsi_dtb_o_start;
+extern unsigned char _binary_p9t_fsi_dtb_o_end;
extern unsigned char _binary_p9z_fsi_dtb_o_start;
extern unsigned char _binary_p9z_fsi_dtb_o_end;
extern unsigned char _binary_p9_kernel_dtb_o_start;
@@ -337,6 +339,8 @@ static int target_select(void)
pdbg_targets_init(&_binary_p9w_fsi_dtb_o_start);
else if (!strcmp(device_node, "p9r"))
pdbg_targets_init(&_binary_p9r_fsi_dtb_o_start);
+ else if (!strcmp(device_node, "p9t"))
+ pdbg_targets_init(&_binary_p9t_fsi_dtb_o_start);
else if (!strcmp(device_node, "p9z"))
pdbg_targets_init(&_binary_p9z_fsi_dtb_o_start);
else {
diff --git a/src/options_arm.c b/src/options_arm.c
index c37d8d0..a267df3 100644
--- a/src/options_arm.c
+++ b/src/options_arm.c
@@ -24,6 +24,7 @@
static const char witherspoon[] = "p9w";
static const char romulus[] = "p9r";
+static const char talos[] = "p9t";
static const char zaius[] = "p9z";
enum backend default_backend(void)
@@ -94,6 +95,9 @@ const char *default_target(enum backend backend)
if (strstr(line, "romulus"))
return romulus;
+ if (strstr(line, "talos"))
+ return talos;
+
if (strstr(line, "zaius"))
return zaius;
OpenPOWER on IntegriCloud