[Skiboot] [PATCH] hdat/spira.c: Add device-tree bindings for nest mmu
Oliver O'Halloran
oohall at gmail.com
Fri Apr 28 16:20:28 AEST 2017
On Fri, Apr 28, 2017 at 4:07 PM, Alistair Popple <alistair at popple.id.au> wrote:
> The kernel will only initialise the nest mmu if the associated
> device-tree entries exit so they need to be added during hdat parsing.
>
> Signed-off-by: Alistair Popple <alistair at popple.id.au>
> ---
> hdata/spira.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/hdata/spira.c b/hdata/spira.c
> index 3340a09..9c6a9d2 100644
> --- a/hdata/spira.c
> +++ b/hdata/spira.c
> @@ -791,6 +791,22 @@ static void add_nx(void)
> }
> }
>
> +static void add_nmmu(void)
> +{
> + struct dt_node *xscom, *nmmu;
> + char namebuf[13];
> +
> + /* Nest MMU only exists on POWER9 */
> + if (proc_gen != proc_gen_p9)
> + return;
> +
> + dt_for_each_compatible(dt_root, xscom, "ibm,xscom") {
> + snprintf(namebuf, sizeof(namebuf), "nmmu@%x", 0x5012C40);
> + nmmu = dt_new(xscom, namebuf);
You can replace this with dt_new_addr()
> + dt_add_property_strings(nmmu, "compatible", "ibm,power9-nest-mmu");
> + dt_add_property_cells(nmmu, "reg", 0x5012c40, 0x20);
> + }
> +}
>
> static void add_iplparams_sys_params(const void *iplp, struct dt_node *node)
> {
> @@ -1265,6 +1281,9 @@ int parse_hdat(bool is_opal)
> /* Add NX */
> add_nx();
>
> + /* Add nest mmu */
> + add_nmmu();
> +
> /* Add IO HUBs and/or PHBs */
> io_parse();
>
> --
> 2.1.4
>
Otherwise,
Acked-by: Oliver O'Halloran <oohall at gmail.com>
More information about the Skiboot
mailing list