Merge tag 'u-boot-amlogic-20190423' of git://git.denx.de/u-boot-amlogic
- Add support for Amlogic p200 & p201 Reference Designs - Add Amlogic SoC information display - Add support for the Libretech-AC AML-S805X-AC board - Add Amlogic AXG reset compatible - Add I2C support for Amlogic AXG - Fix AXG PIN and BANK pinctrl definitions - Fix regmap_read_poll_timeout warning about sandbox_timer_add_offset - Add initial support for Amlogic G12A SoC and U200 board - Enable PHY_REALTEK for selected boards - Fix Khadas VIM2 README
This commit is contained in:
104
arch/arm/include/asm/arch-meson/clock-g12a.h
Normal file
104
arch/arm/include/asm/arch-meson/clock-g12a.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright 2016 - AmLogic, Inc.
|
||||
* Copyright 2018 - Beniamino Galvani <b.galvani@gmail.com>
|
||||
* Copyright 2018 - BayLibre, SAS
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
#ifndef _ARCH_MESON_CLOCK_G12A_H_
|
||||
#define _ARCH_MESON_CLOCK_G12A_H_
|
||||
|
||||
/*
|
||||
* Clock controller register offsets
|
||||
*
|
||||
* Register offsets from the data sheet are listed in comment blocks below.
|
||||
* Those offsets must be multiplied by 4 before adding them to the base address
|
||||
* to get the right value
|
||||
*/
|
||||
|
||||
#define HHI_MIPI_CNTL0 0x000
|
||||
#define HHI_MIPI_CNTL1 0x004
|
||||
#define HHI_MIPI_CNTL2 0x008
|
||||
#define HHI_MIPI_STS 0x00C
|
||||
#define HHI_GP0_PLL_CNTL0 0x040
|
||||
#define HHI_GP0_PLL_CNTL1 0x044
|
||||
#define HHI_GP0_PLL_CNTL2 0x048
|
||||
#define HHI_GP0_PLL_CNTL3 0x04C
|
||||
#define HHI_GP0_PLL_CNTL4 0x050
|
||||
#define HHI_GP0_PLL_CNTL5 0x054
|
||||
#define HHI_GP0_PLL_CNTL6 0x058
|
||||
#define HHI_GP0_PLL_STS 0x05C
|
||||
#define HHI_PCIE_PLL_CNTL0 0x098
|
||||
#define HHI_PCIE_PLL_CNTL1 0x09C
|
||||
#define HHI_PCIE_PLL_CNTL2 0x0A0
|
||||
#define HHI_PCIE_PLL_CNTL3 0x0A4
|
||||
#define HHI_PCIE_PLL_CNTL4 0x0A8
|
||||
#define HHI_PCIE_PLL_CNTL5 0x0AC
|
||||
#define HHI_PCIE_PLL_STS 0x0B8
|
||||
#define HHI_HIFI_PLL_CNTL0 0x0D8
|
||||
#define HHI_HIFI_PLL_CNTL1 0x0DC
|
||||
#define HHI_HIFI_PLL_CNTL2 0x0E0
|
||||
#define HHI_HIFI_PLL_CNTL3 0x0E4
|
||||
#define HHI_HIFI_PLL_CNTL4 0x0E8
|
||||
#define HHI_HIFI_PLL_CNTL5 0x0EC
|
||||
#define HHI_HIFI_PLL_CNTL6 0x0F0
|
||||
#define HHI_VIID_CLK_DIV 0x128
|
||||
#define HHI_VIID_CLK_CNTL 0x12C
|
||||
#define HHI_GCLK_MPEG0 0x140
|
||||
#define HHI_GCLK_MPEG1 0x144
|
||||
#define HHI_GCLK_MPEG2 0x148
|
||||
#define HHI_GCLK_OTHER 0x150
|
||||
#define HHI_GCLK_OTHER2 0x154
|
||||
#define HHI_VID_CLK_DIV 0x164
|
||||
#define HHI_MPEG_CLK_CNTL 0x174
|
||||
#define HHI_AUD_CLK_CNTL 0x178
|
||||
#define HHI_VID_CLK_CNTL 0x17c
|
||||
#define HHI_TS_CLK_CNTL 0x190
|
||||
#define HHI_VID_CLK_CNTL2 0x194
|
||||
#define HHI_SYS_CPU_CLK_CNTL0 0x19c
|
||||
#define HHI_VID_PLL_CLK_DIV 0x1A0
|
||||
#define HHI_MALI_CLK_CNTL 0x1b0
|
||||
#define HHI_VPU_CLKC_CNTL 0x1b4
|
||||
#define HHI_VPU_CLK_CNTL 0x1bC
|
||||
#define HHI_HDMI_CLK_CNTL 0x1CC
|
||||
#define HHI_VDEC_CLK_CNTL 0x1E0
|
||||
#define HHI_VDEC2_CLK_CNTL 0x1E4
|
||||
#define HHI_VDEC3_CLK_CNTL 0x1E8
|
||||
#define HHI_VDEC4_CLK_CNTL 0x1EC
|
||||
#define HHI_HDCP22_CLK_CNTL 0x1F0
|
||||
#define HHI_VAPBCLK_CNTL 0x1F4
|
||||
#define HHI_VPU_CLKB_CNTL 0x20C
|
||||
#define HHI_GEN_CLK_CNTL 0x228
|
||||
#define HHI_VDIN_MEAS_CLK_CNTL 0x250
|
||||
#define HHI_MIPIDSI_PHY_CLK_CNTL 0x254
|
||||
#define HHI_NAND_CLK_CNTL 0x25C
|
||||
#define HHI_SD_EMMC_CLK_CNTL 0x264
|
||||
#define HHI_MPLL_CNTL0 0x278
|
||||
#define HHI_MPLL_CNTL1 0x27C
|
||||
#define HHI_MPLL_CNTL2 0x280
|
||||
#define HHI_MPLL_CNTL3 0x284
|
||||
#define HHI_MPLL_CNTL4 0x288
|
||||
#define HHI_MPLL_CNTL5 0x28c
|
||||
#define HHI_MPLL_CNTL6 0x290
|
||||
#define HHI_MPLL_CNTL7 0x294
|
||||
#define HHI_MPLL_CNTL8 0x298
|
||||
#define HHI_FIX_PLL_CNTL0 0x2A0
|
||||
#define HHI_FIX_PLL_CNTL1 0x2A4
|
||||
#define HHI_FIX_PLL_CNTL3 0x2AC
|
||||
#define HHI_SYS_PLL_CNTL0 0x2f4
|
||||
#define HHI_SYS_PLL_CNTL1 0x2f8
|
||||
#define HHI_SYS_PLL_CNTL2 0x2fc
|
||||
#define HHI_SYS_PLL_CNTL3 0x300
|
||||
#define HHI_SYS_PLL_CNTL4 0x304
|
||||
#define HHI_SYS_PLL_CNTL5 0x308
|
||||
#define HHI_SYS_PLL_CNTL6 0x30c
|
||||
#define HHI_HDMI_PLL_CNTL0 0x320
|
||||
#define HHI_HDMI_PLL_CNTL1 0x324
|
||||
#define HHI_HDMI_PLL_CNTL2 0x328
|
||||
#define HHI_HDMI_PLL_CNTL3 0x32c
|
||||
#define HHI_HDMI_PLL_CNTL4 0x330
|
||||
#define HHI_HDMI_PLL_CNTL5 0x334
|
||||
#define HHI_HDMI_PLL_CNTL6 0x338
|
||||
#define HHI_SPICC_CLK_CNTL 0x3dc
|
||||
|
||||
#endif
|
||||
66
arch/arm/include/asm/arch-meson/g12a.h
Normal file
66
arch/arm/include/asm/arch-meson/g12a.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2018 BayLibre, SAS
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
|
||||
#ifndef __G12A_H__
|
||||
#define __G12A_H__
|
||||
|
||||
#define G12A_AOBUS_BASE 0xff800000
|
||||
#define G12A_PERIPHS_BASE 0xff634400
|
||||
#define G12A_HIU_BASE 0xff63c000
|
||||
#define G12A_ETH_PHY_BASE 0xff64c000
|
||||
#define G12A_ETH_BASE 0xff3f0000
|
||||
|
||||
/* Always-On Peripherals registers */
|
||||
#define G12A_AO_ADDR(off) (G12A_AOBUS_BASE + ((off) << 2))
|
||||
|
||||
#define G12A_AO_SEC_GP_CFG0 G12A_AO_ADDR(0x90)
|
||||
#define G12A_AO_SEC_GP_CFG3 G12A_AO_ADDR(0x93)
|
||||
#define G12A_AO_SEC_GP_CFG4 G12A_AO_ADDR(0x94)
|
||||
#define G12A_AO_SEC_GP_CFG5 G12A_AO_ADDR(0x95)
|
||||
|
||||
#define G12A_AO_BOOT_DEVICE 0xF
|
||||
#define G12A_AO_MEM_SIZE_MASK 0xFFFF0000
|
||||
#define G12A_AO_MEM_SIZE_SHIFT 16
|
||||
#define G12A_AO_BL31_RSVMEM_SIZE_MASK 0xFFFF0000
|
||||
#define G12A_AO_BL31_RSVMEM_SIZE_SHIFT 16
|
||||
#define G12A_AO_BL32_RSVMEM_SIZE_MASK 0xFFFF
|
||||
|
||||
/* Peripherals registers */
|
||||
#define G12A_PERIPHS_ADDR(off) (G12A_PERIPHS_BASE + ((off) << 2))
|
||||
|
||||
#define G12A_ETH_REG_0 G12A_PERIPHS_ADDR(0x50)
|
||||
#define G12A_ETH_REG_1 G12A_PERIPHS_ADDR(0x51)
|
||||
|
||||
#define G12A_ETH_REG_0_PHY_INTF_RGMII BIT(0)
|
||||
#define G12A_ETH_REG_0_PHY_INTF_RMII BIT(2)
|
||||
#define G12A_ETH_REG_0_TX_PHASE(x) (((x) & 3) << 5)
|
||||
#define G12A_ETH_REG_0_TX_RATIO(x) (((x) & 7) << 7)
|
||||
#define G12A_ETH_REG_0_PHY_CLK_EN BIT(10)
|
||||
#define G12A_ETH_REG_0_INVERT_RMII_CLK BIT(11)
|
||||
#define G12A_ETH_REG_0_CLK_EN BIT(12)
|
||||
|
||||
#define G12A_ETH_PHY_ADDR(off) (G12A_ETH_PHY_BASE + ((off) << 2))
|
||||
#define ETH_PLL_CNTL0 G12A_ETH_PHY_ADDR(0x11)
|
||||
#define ETH_PLL_CNTL1 G12A_ETH_PHY_ADDR(0x12)
|
||||
#define ETH_PLL_CNTL2 G12A_ETH_PHY_ADDR(0x13)
|
||||
#define ETH_PLL_CNTL3 G12A_ETH_PHY_ADDR(0x14)
|
||||
#define ETH_PLL_CNTL4 G12A_ETH_PHY_ADDR(0x15)
|
||||
#define ETH_PLL_CNTL5 G12A_ETH_PHY_ADDR(0x16)
|
||||
#define ETH_PLL_CNTL6 G12A_ETH_PHY_ADDR(0x17)
|
||||
#define ETH_PLL_CNTL7 G12A_ETH_PHY_ADDR(0x18)
|
||||
#define ETH_PHY_CNTL0 G12A_ETH_PHY_ADDR(0x20)
|
||||
#define ETH_PHY_CNTL1 G12A_ETH_PHY_ADDR(0x21)
|
||||
#define ETH_PHY_CNTL2 G12A_ETH_PHY_ADDR(0x22)
|
||||
|
||||
/* HIU registers */
|
||||
#define G12A_HIU_ADDR(off) (G12A_HIU_BASE + ((off) << 2))
|
||||
|
||||
#define G12A_MEM_PD_REG_0 G12A_HIU_ADDR(0x40)
|
||||
|
||||
/* Ethernet memory power domain */
|
||||
#define G12A_MEM_PD_REG_0_ETH_MASK (BIT(2) | BIT(3))
|
||||
|
||||
#endif /* __G12A_H__ */
|
||||
Reference in New Issue
Block a user