diff options
author | Michael Neuling <mikey@neuling.org> | 2017-02-17 17:26:40 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-02-22 17:40:45 +1100 |
commit | f4d5deb6a546d393a228ec72159705c7cf83f224 (patch) | |
tree | 64fd0785cf8b1117420824c881c1e7bab2394abe /platforms | |
parent | e55525541654fb2967ff3a344bec406e8f25e8be (diff) | |
download | skiboot-f4d5deb6a546d393a228ec72159705c7cf83f224.zip skiboot-f4d5deb6a546d393a228ec72159705c7cf83f224.tar.gz skiboot-f4d5deb6a546d393a228ec72159705c7cf83f224.tar.bz2 |
ast: Account for differences between 2400 vs 2500
Currently astbmc_early_init() only applies to AST2400/POWER8.
This fixes the code so it also applies to AST2500/POWER9 except for
the PSI BAR fixup which is not needed on AST2500/POWER9.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'platforms')
-rw-r--r-- | platforms/astbmc/common.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/platforms/astbmc/common.c b/platforms/astbmc/common.c index 8734f76..18b425b 100644 --- a/platforms/astbmc/common.c +++ b/platforms/astbmc/common.c @@ -306,6 +306,10 @@ static void astbmc_fixup_psi_bar(void) struct proc_chip *chip = next_chip(NULL); uint64_t psibar; + /* This is P8 specific */ + if (proc_gen != proc_gen_p8) + return; + /* Read PSI BAR */ if (xscom_read(chip->id, 0x201090A, &psibar)) { prerror("PLAT: Error reading PSI BAR\n"); @@ -327,17 +331,11 @@ static void astbmc_fixup_psi_bar(void) void astbmc_early_init(void) { - /* - * On P9 we don't have a HB supplied devicetree and we have a - * different PSI BAR hack here is P8 specific. - */ - if (proc_gen == proc_gen_p8) { - /* Hostboot's device-tree isn't quite right yet */ - astbmc_fixup_dt(); + /* Hostboot's device-tree isn't quite right yet */ + astbmc_fixup_dt(); - /* Hostboot forgets to populate the PSI BAR */ - astbmc_fixup_psi_bar(); - } + /* Hostboot forgets to populate the PSI BAR */ + astbmc_fixup_psi_bar(); /* Send external interrupts to me */ psi_set_external_irq_policy(EXTERNAL_IRQ_POLICY_SKIBOOT); |