aboutsummaryrefslogtreecommitdiff
path: root/platforms
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2017-02-17 17:26:40 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-02-22 17:40:45 +1100
commitf4d5deb6a546d393a228ec72159705c7cf83f224 (patch)
tree64fd0785cf8b1117420824c881c1e7bab2394abe /platforms
parente55525541654fb2967ff3a344bec406e8f25e8be (diff)
downloadskiboot-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.c18
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);