162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright IBM Corporation, 2007
462306a36Sopenharmony_ci * Josh Boyer <jwboyer@linux.vnet.ibm.com>
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Based on ebony wrapper:
762306a36Sopenharmony_ci * Copyright 2007 David Gibson, IBM Corporation.
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#include "ops.h"
1062306a36Sopenharmony_ci#include "stdio.h"
1162306a36Sopenharmony_ci#include "44x.h"
1262306a36Sopenharmony_ci#include "stdlib.h"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciBSS_STACK(4096);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define PIBS_MAC0 0xfffc0400
1762306a36Sopenharmony_ci#define PIBS_MAC1 0xfffc0500
1862306a36Sopenharmony_cichar pibs_mac0[6];
1962306a36Sopenharmony_cichar pibs_mac1[6];
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cistatic void read_pibs_mac(void)
2262306a36Sopenharmony_ci{
2362306a36Sopenharmony_ci	unsigned long long mac64;
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	mac64 = strtoull((char *)PIBS_MAC0, 0, 16);
2662306a36Sopenharmony_ci	memcpy(&pibs_mac0, (char *)&mac64+2, 6);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	mac64 = strtoull((char *)PIBS_MAC1, 0, 16);
2962306a36Sopenharmony_ci	memcpy(&pibs_mac1, (char *)&mac64+2, 6);
3062306a36Sopenharmony_ci}
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_civoid platform_init(void)
3362306a36Sopenharmony_ci{
3462306a36Sopenharmony_ci	unsigned long end_of_ram = 0x8000000;
3562306a36Sopenharmony_ci	unsigned long avail_ram = end_of_ram - (unsigned long)_end;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	simple_alloc_init(_end, avail_ram, 32, 64);
3862306a36Sopenharmony_ci	read_pibs_mac();
3962306a36Sopenharmony_ci	bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1);
4062306a36Sopenharmony_ci}
41