From 68ac85897b4918e5fd5383f450fdfcdffc6ff380 Mon Sep 17 00:00:00 2001 From: Raptor Engineering Development Team Date: Wed, 17 Jan 2018 17:40:55 -0600 Subject: Add Talos support --- Makefile.am | 5 ++++- libpdbg/operations.h | 2 +- p9t-fsi.dts.m4 | 16 ++++++++++++++++ src/main.c | 5 +++++ src/options_arm.c | 5 ++++- 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 p9t-fsi.dts.m4 diff --git a/Makefile.am b/Makefile.am index f1e06f6..2a581d2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,6 +38,7 @@ EXTRA_DIST = \ p9-kernel.dts.m4 \ p9-pib.dts.m4 \ p9r-fsi.dts.m4 \ + p9t-fsi.dts.m4 \ p9w-fsi.dts.m4 \ p9z-fsi.dts.m4 \ template.S \ @@ -50,7 +51,8 @@ EXTRA_DIST = \ if TARGET_ARM DT_ARM = p8-fsi.dts p8-i2c.dts p8-kernel.dts \ - p9w-fsi.dts p9r-fsi.dts p9z-fsi.dts p9-kernel.dts + p9w-fsi.dts p9r-fsi.dts p9t-fsi.dts \ + p9z-fsi.dts p9-kernel.dts ARCH_FLAGS="-DTARGET_ARM=1" endif @@ -241,6 +243,7 @@ RAGEL_V_0 = @echo " RAGEL " $@; p9-fsi.dtsi: p9-fsi.dtsi.m4 p9-pib.dts.m4 p9w-fsi.dts: p9w-fsi.dts.m4 p9-fsi.dtsi p9r-fsi.dts: p9r-fsi.dts.m4 p9-fsi.dtsi +p9t-fsi.dts: p9t-fsi.dts.m4 p9-fsi.dtsi p9z-fsi.dts: p9z-fsi.dts.m4 p9-fsi.dtsi %.dtb: %.dts diff --git a/libpdbg/operations.h b/libpdbg/operations.h index 867f997..6af3718 100644 --- a/libpdbg/operations.h +++ b/libpdbg/operations.h @@ -71,7 +71,7 @@ #define MXSPR_SPR(opcode) (((opcode >> 16) & 0x1f) | ((opcode >> 6) & 0x3e0)) -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.m4 b/p9t-fsi.dts.m4 new file mode 100644 index 0000000..2165bae --- /dev/null +++ b/p9t-fsi.dts.m4 @@ -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 d5f9385..4b5eacf 100644 --- a/src/main.c +++ b/src/main.c @@ -53,6 +53,7 @@ #include "p8-kernel.dt.h" #include "p9w-fsi.dt.h" #include "p9r-fsi.dt.h" +#include "p9t-fsi.dt.h" #include "p9z-fsi.dt.h" #include "p9-kernel.dt.h" #endif @@ -553,6 +554,10 @@ static bool target_selection(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, "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 0dbc731..ac23849 100644 --- a/src/options_arm.c +++ b/src/options_arm.c @@ -51,7 +51,7 @@ void print_targets(FILE *stream) { fprintf(stream, "kernel: No target is necessary\n"); fprintf(stream, "i2c: No target is necessary\n"); - fprintf(stream, "fsi: p8 p9w p9r p9z\n"); + fprintf(stream, "fsi: p8 p9w p9r p9t p9z\n"); } static const char *default_kernel_target(void) @@ -116,6 +116,9 @@ static const char *default_fsi_target(void) if (strstr(line, "romulus")) return "p9r"; + if (strstr(line, "talos")) + return "p9t"; + if (strstr(line, "zaius")) return "p9z"; -- cgit v1.2.1