Skip to content

Commit

Permalink
hdata: Add BMC device-tree node for P9 OpenPOWER systems
Browse files Browse the repository at this point in the history
On P8 Hostboot creates the node. On P9, OPAL needs to create the node. BMC
information available in HDAT's SPINFO section.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Acked-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
  • Loading branch information
Ananth N Mavinakayanahalli authored and stewartsmith committed Mar 7, 2017
1 parent dd694b5 commit 0f28e38
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
17 changes: 16 additions & 1 deletion hdata/fsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,11 +279,26 @@ static void add_uart(const struct spss_iopath *iopath, struct dt_node *lpc)

static void bmc_create_node(const struct HDIF_common_hdr *sp)
{
struct dt_node *bmc_node;
u32 fw_bar, io_bar, mem_bar, internal_bar;
const struct spss_iopath *iopath;
const struct spss_sp_impl *sp_impl;
struct dt_node *lpcm, *lpc, *n;
u64 lpcm_base, lpcm_end;
int chip_id;
int chip_id, size;

bmc_node = dt_new(dt_root, "bmc");
assert(bmc_node);

dt_add_property_cells(bmc_node, "#address-cells", 1);
dt_add_property_cells(bmc_node, "#size-cells", 0);

/* TODO: add sensor info under /bmc */
sp_impl = HDIF_get_idata(sp, SPSS_IDATA_SP_IMPL, &size);
if (CHECK_SPPTR(sp_impl) && (size > 8)) {
dt_add_property_strings(bmc_node, "compatible", sp_impl->sp_family);
prlog(PR_INFO, "SP Family is %s\n", sp_impl->sp_family);
}

iopath = HDIF_get_iarray_item(sp, SPSS_IDATA_SP_IOPATH, 0, NULL);

Expand Down
1 change: 1 addition & 0 deletions hdata/spira.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ struct spss_sp_impl {
#define SPSS_SP_IMPL_FLAGS_PRIMARY 0x2000
u8 chip_version;
u8 reserved;
u8 sp_family[64];
};

/* Idata index 3 is deprecated */
Expand Down

0 comments on commit 0f28e38

Please sign in to comment.