Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2686766 authored by Thierry Reding's avatar Thierry Reding
Browse files

soc/tegra: Implement runtime check for Tegra SoCs



Subsequent patches will move some of the initialization code from SoC
setup code to regular initcalls. To prevent breakage on other SoCs in
multi-platform builds, these initcalls need to check that they indeed
run on Tegra.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent dd849e58
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
obj-$(CONFIG_ARCH_TEGRA) += fuse/

obj-$(CONFIG_ARCH_TEGRA) += common.o
+30 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 NVIDIA CORPORATION.  All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <linux/of.h>

#include <soc/tegra/common.h>

static const struct of_device_id tegra_machine_match[] = {
	{ .compatible = "nvidia,tegra20", },
	{ .compatible = "nvidia,tegra30", },
	{ .compatible = "nvidia,tegra114", },
	{ .compatible = "nvidia,tegra124", },
	{ }
};

bool soc_is_tegra(void)
{
	struct device_node *root;

	root = of_find_node_by_path("/");
	if (!root)
		return false;

	return of_match_node(tegra_machine_match, root) != NULL;
}
+14 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 NVIDIA Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __SOC_TEGRA_COMMON_H__
#define __SOC_TEGRA_COMMON_H__

bool soc_is_tegra(void);

#endif /* __SOC_TEGRA_COMMON_H__ */