mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-17 08:43:07 +00:00
4a9e89a3e3
Allwinner seems to typically stick to a common MMIO memory map for several SoCs, but from time to time does some breaking changes, which also introduce new generations of some peripherals. The last time this happened with the H6, which apart from re-organising the base addresses also changed the clock controller significantly. We added a CONFIG_SUN50I_GEN_H6 symbol back then to mark SoCs sharing those traits. Now the Allwinner D1 changes the memory map again, and also extends the pincontroller, among other peripherals. To mark this generation of SoCs, add a CONFIG_SUNXI_GEN_NCAT2 symbol, this name is reportedly used in the Allwinner BSP code, and prevents us from inventing our own name. Add this new symbol to some guards that were already checking for the H6 generation, since many features are shared between the two (like the renovated clock controller). This paves the way to introduce a first user of this generation. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Samuel Holland <samuel@sholland.org>
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* (C) Copyright 2007-2011
|
|
* Allwinner Technology Co., Ltd. <www.allwinnertech.com>
|
|
* Tom Cubie <tangliang@allwinnertech.com>
|
|
*/
|
|
|
|
#ifndef _SUNXI_CLOCK_H
|
|
#define _SUNXI_CLOCK_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define CLK_GATE_OPEN 0x1
|
|
#define CLK_GATE_CLOSE 0x0
|
|
|
|
/* clock control module regs definition */
|
|
#if defined(CONFIG_MACH_SUN8I_A83T)
|
|
#include <asm/arch/clock_sun8i_a83t.h>
|
|
#elif defined(CONFIG_SUN50I_GEN_H6) || defined(CONFIG_SUNXI_GEN_NCAT2)
|
|
#include <asm/arch/clock_sun50i_h6.h>
|
|
#elif defined(CONFIG_MACH_SUN6I) || defined(CONFIG_MACH_SUN8I) || \
|
|
defined(CONFIG_MACH_SUN50I) || defined(CONFIG_MACH_SUNIV)
|
|
#include <asm/arch/clock_sun6i.h>
|
|
#elif defined(CONFIG_MACH_SUN9I)
|
|
#include <asm/arch/clock_sun9i.h>
|
|
#else
|
|
#include <asm/arch/clock_sun4i.h>
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
int clock_init(void);
|
|
int clock_twi_onoff(int port, int state);
|
|
void clock_set_de_mod_clock(u32 *clk_cfg, unsigned int hz);
|
|
void clock_init_safe(void);
|
|
void clock_init_sec(void);
|
|
void clock_init_uart(void);
|
|
#endif
|
|
|
|
#endif /* _SUNXI_CLOCK_H */
|