From 7d48ac5c7dfb52fc470bbad1013b4d460bc6a1e0 Mon Sep 17 00:00:00 2001 From: David Hendricks Date: Fri, 9 Mar 2018 14:30:38 -0800 Subject: soc/cavium: Integrate BDK files into coreboot * Make it compile. * Fix whitespace errors. * Fix printf formats. * Add missing headers includes * Guard headers with ifdefs Compile DRAM init code in romstage. Compile QLM, PCIe, RNG, PHY, GPIO, MDIO init code in ramstage. Change-Id: I0a93219a14bfb6ebe41103a825d5032b11e7f2c6 Signed-off-by: David Hendricks Reviewed-on: https://review.coreboot.org/25089 Reviewed-by: Philipp Deppenwiese Tested-by: build bot (Jenkins) --- src/vendorcode/cavium/include/bdk/bdk-minimal.h | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/vendorcode/cavium/include/bdk/bdk-minimal.h (limited to 'src/vendorcode/cavium/include/bdk/bdk-minimal.h') diff --git a/src/vendorcode/cavium/include/bdk/bdk-minimal.h b/src/vendorcode/cavium/include/bdk/bdk-minimal.h new file mode 100644 index 0000000000..3ecf5a700a --- /dev/null +++ b/src/vendorcode/cavium/include/bdk/bdk-minimal.h @@ -0,0 +1,60 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (c) 2003-2017 Cavium Inc. (support@cavium.com). All rights + * reserved. + * Copyright 2017-present Facebook, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause + * + * bdk-minimal.h: Subset of bdk.h used by coreboot + */ + +#ifndef __SOC_CAVIUM_COMMON_BDK_MINIMAL_H__ +#define __SOC_CAVIUM_COMMON_BDK_MINIMAL_H__ + +#include /* for printk */ +#include +#include /* for NULL */ +#include + +#define bdk_le16_to_cpu(x) le16_to_cpu(x) +#define bdk_le32_to_cpu(x) le32_to_cpu(x) +#define bdk_le64_to_cpu(x) le64_to_cpu(x) +#define bdk_be16_to_cpu(x) be16_to_cpu(x) +#define bdk_be32_to_cpu(x) be32_to_cpu(x) +#define bdk_be64_to_cpu(x) be64_to_cpu(x) +#define bdk_cpu_to_le16(x) cpu_to_le16(x) +#define bdk_cpu_to_le32(x) cpu_to_le32(x) +#define bdk_cpu_to_le64(x) cpu_to_le64(x) + +#define __BYTE_ORDER __BYTE_ORDER__ +/* Watch out for __BIG_ENDIAN. coreboot usually checks if it's defined at all + * but the Cavium BDK checks its value. */ +#define __BIG_ENDIAN 4321 + +#define printf(format, ...) printk(BIOS_DEBUG, format, ##__VA_ARGS__) +#define puts(str) printk(BIOS_INFO, str) +#define fflush(x) /* output gets flushed automatically */ + +/* careful, the ordering matters for some headers */ +#include +#include +#include +#include + +#include +#include + +#include + +/* FIXME: experiment to see if including the universe here will solve some + * current build issues... */ +#include +#include +#include +#include + +static inline char *getenv(const char *name) { return NULL; } + +#endif /* !__SOC_CAVIUM_COMMON_BDK_MINIMAL_H__ */ -- cgit v1.2.3