ARM: rmobile: Drop PRR syscon driver
The PRR syscon driver is available too late for Multi DTB build of U-Boot. Replace it with simple check whether a platform is Gen3 or not and produce an address of the PRR. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
This commit is contained in:
parent
4cc93fc281
commit
bd6debbc94
1 changed files with 8 additions and 53 deletions
|
@ -11,7 +11,14 @@
|
|||
#define R8A7796_REV_1_0 0x5200
|
||||
#define R8A7796_REV_1_1 0x5210
|
||||
|
||||
static u32 rmobile_get_prr(void);
|
||||
static u32 rmobile_get_prr(void)
|
||||
{
|
||||
#ifdef CONFIG_RCAR_GEN3
|
||||
return readl(0xFFF00044);
|
||||
#else
|
||||
return readl(0xFF000044);
|
||||
#endif
|
||||
}
|
||||
|
||||
u32 rmobile_get_cpu_type(void)
|
||||
{
|
||||
|
@ -37,55 +44,3 @@ u32 rmobile_get_cpu_rev_fraction(void)
|
|||
else
|
||||
return prr & 0x0000000F;
|
||||
}
|
||||
|
||||
#if !CONFIG_IS_ENABLED(DM) || !CONFIG_IS_ENABLED(SYSCON)
|
||||
static u32 rmobile_get_prr(void)
|
||||
{
|
||||
/*
|
||||
* On RCar/RMobile Gen2 and older systems, the PRR is always
|
||||
* located at the address below. On newer systems, the PRR
|
||||
* may be located at different address, but that information
|
||||
* is obtained from DT. This code will be removed when all
|
||||
* of the older systems get converted to DM and OF control.
|
||||
*/
|
||||
return readl(0xFF000044);
|
||||
}
|
||||
#else
|
||||
|
||||
#include <dm.h>
|
||||
#include <syscon.h>
|
||||
#include <regmap.h>
|
||||
|
||||
struct renesas_prr_priv {
|
||||
fdt_addr_t regs;
|
||||
};
|
||||
|
||||
enum {
|
||||
PRR_RCAR,
|
||||
};
|
||||
|
||||
static u32 rmobile_get_prr(void)
|
||||
{
|
||||
struct regmap *map;
|
||||
|
||||
map = syscon_get_regmap_by_driver_data(PRR_RCAR);
|
||||
if (!map) {
|
||||
printf("PRR regmap failed!\n");
|
||||
hang();
|
||||
}
|
||||
|
||||
return readl(map->ranges[0].start);
|
||||
}
|
||||
|
||||
static const struct udevice_id renesas_prr_ids[] = {
|
||||
{ .compatible = "renesas,prr", .data = PRR_RCAR },
|
||||
{ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(renesas_prr) = {
|
||||
.name = "renesas_prr",
|
||||
.id = UCLASS_SYSCON,
|
||||
.of_match = renesas_prr_ids,
|
||||
.flags = DM_FLAG_PRE_RELOC,
|
||||
};
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue