summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-11-16 18:50:32 +0300
committerTom Rini <trini@konsulko.com>2020-11-16 18:50:32 +0300
commit530dcdd07c9870bcb22e40a72d9ffe2afc513117 (patch)
tree8bd83da4fa8d9a43d5d217f9f931256f43985634 /arch
parente1fdb2045ad02c9d8bc5972db8f0536518c7330e (diff)
parentc87eab81616d671a6004ffc95847bad21b7eb005 (diff)
downloadu-boot-530dcdd07c9870bcb22e40a72d9ffe2afc513117.tar.xz
Merge tag 'u-boot-amlogic-20201116' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic
- Clock fix MMC driver for SM1 based platforms - sync SOC Ids from Linux 5.10-rc1 - fix potential build warning on meson_dw_hdmi and meson-g12a-usb2 phy
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/dts/meson-g12b-a311d-khadas-vim3-u-boot.dtsi1
-rw-r--r--arch/arm/dts/meson-khadas-vim3-u-boot.dtsi2
-rw-r--r--arch/arm/dts/meson-sm1-khadas-vim3l-u-boot.dtsi1
-rw-r--r--arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi2
-rw-r--r--arch/arm/dts/meson-sm1-sei610-u-boot.dtsi2
-rw-r--r--arch/arm/dts/meson-sm1-u-boot.dtsi20
-rw-r--r--arch/arm/include/asm/arch-meson/sd_emmc.h92
-rw-r--r--arch/arm/mach-meson/board-info.c7
8 files changed, 30 insertions, 97 deletions
diff --git a/arch/arm/dts/meson-g12b-a311d-khadas-vim3-u-boot.dtsi b/arch/arm/dts/meson-g12b-a311d-khadas-vim3-u-boot.dtsi
index f66eca14b1..489efa150a 100644
--- a/arch/arm/dts/meson-g12b-a311d-khadas-vim3-u-boot.dtsi
+++ b/arch/arm/dts/meson-g12b-a311d-khadas-vim3-u-boot.dtsi
@@ -4,4 +4,5 @@
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
+#include "meson-g12-common-u-boot.dtsi"
#include "meson-khadas-vim3-u-boot.dtsi"
diff --git a/arch/arm/dts/meson-khadas-vim3-u-boot.dtsi b/arch/arm/dts/meson-khadas-vim3-u-boot.dtsi
index b5da4fdfc3..81fd5be378 100644
--- a/arch/arm/dts/meson-khadas-vim3-u-boot.dtsi
+++ b/arch/arm/dts/meson-khadas-vim3-u-boot.dtsi
@@ -4,8 +4,6 @@
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
-#include "meson-g12-common-u-boot.dtsi"
-
/ {
aliases {
spi0 = &spifc;
diff --git a/arch/arm/dts/meson-sm1-khadas-vim3l-u-boot.dtsi b/arch/arm/dts/meson-sm1-khadas-vim3l-u-boot.dtsi
index f66eca14b1..a591c0c9f2 100644
--- a/arch/arm/dts/meson-sm1-khadas-vim3l-u-boot.dtsi
+++ b/arch/arm/dts/meson-sm1-khadas-vim3l-u-boot.dtsi
@@ -4,4 +4,5 @@
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
+#include "meson-sm1-u-boot.dtsi"
#include "meson-khadas-vim3-u-boot.dtsi"
diff --git a/arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi b/arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi
index 2a8f0545b1..c431988075 100644
--- a/arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi
+++ b/arch/arm/dts/meson-sm1-odroid-c4-u-boot.dtsi
@@ -4,7 +4,7 @@
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
-#include "meson-g12-common-u-boot.dtsi"
+#include "meson-sm1-u-boot.dtsi"
&ethmac {
snps,reset-gpio = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
diff --git a/arch/arm/dts/meson-sm1-sei610-u-boot.dtsi b/arch/arm/dts/meson-sm1-sei610-u-boot.dtsi
index 236f2468dc..8ebc1caa4a 100644
--- a/arch/arm/dts/meson-sm1-sei610-u-boot.dtsi
+++ b/arch/arm/dts/meson-sm1-sei610-u-boot.dtsi
@@ -4,4 +4,4 @@
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
-#include "meson-g12-common-u-boot.dtsi"
+#include "meson-sm1-u-boot.dtsi"
diff --git a/arch/arm/dts/meson-sm1-u-boot.dtsi b/arch/arm/dts/meson-sm1-u-boot.dtsi
new file mode 100644
index 0000000000..e05d4c369a
--- /dev/null
+++ b/arch/arm/dts/meson-sm1-u-boot.dtsi
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 BayLibre, SAS.
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
+ */
+
+#include "meson-g12-common-u-boot.dtsi"
+
+&sd_emmc_a {
+ compatible = "amlogic,meson-sm1-mmc";
+};
+
+&sd_emmc_b {
+ compatible = "amlogic,meson-sm1-mmc";
+};
+
+&sd_emmc_c {
+ compatible = "amlogic,meson-sm1-mmc";
+};
+
diff --git a/arch/arm/include/asm/arch-meson/sd_emmc.h b/arch/arm/include/asm/arch-meson/sd_emmc.h
deleted file mode 100644
index 1e9f8cf498..0000000000
--- a/arch/arm/include/asm/arch-meson/sd_emmc.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2016 Carlo Caione <carlo@caione.org>
- */
-
-#ifndef __SD_EMMC_H__
-#define __SD_EMMC_H__
-
-#include <mmc.h>
-#ifndef __ASSEMBLY__
-#include <linux/bitops.h>
-#endif
-
-
-#define SDIO_PORT_A 0
-#define SDIO_PORT_B 1
-#define SDIO_PORT_C 2
-
-#define SD_EMMC_CLKSRC_24M 24000000 /* 24 MHz */
-#define SD_EMMC_CLKSRC_DIV2 1000000000 /* 1 GHz */
-
-#define MESON_SD_EMMC_CLOCK 0x00
-#define CLK_MAX_DIV 63
-#define CLK_SRC_24M (0 << 6)
-#define CLK_SRC_DIV2 (1 << 6)
-#define CLK_CO_PHASE_000 (0 << 8)
-#define CLK_CO_PHASE_090 (1 << 8)
-#define CLK_CO_PHASE_180 (2 << 8)
-#define CLK_CO_PHASE_270 (3 << 8)
-#define CLK_TX_PHASE_000 (0 << 10)
-#define CLK_TX_PHASE_090 (1 << 10)
-#define CLK_TX_PHASE_180 (2 << 10)
-#define CLK_TX_PHASE_270 (3 << 10)
-#define CLK_ALWAYS_ON BIT(24)
-
-#define MESON_SD_EMMC_CFG 0x44
-#define CFG_BUS_WIDTH_MASK GENMASK(1, 0)
-#define CFG_BUS_WIDTH_1 0
-#define CFG_BUS_WIDTH_4 1
-#define CFG_BUS_WIDTH_8 2
-#define CFG_BL_LEN_MASK GENMASK(7, 4)
-#define CFG_BL_LEN_SHIFT 4
-#define CFG_BL_LEN_512 (9 << 4)
-#define CFG_RESP_TIMEOUT_MASK GENMASK(11, 8)
-#define CFG_RESP_TIMEOUT_256 (8 << 8)
-#define CFG_RC_CC_MASK GENMASK(15, 12)
-#define CFG_RC_CC_16 (4 << 12)
-#define CFG_SDCLK_ALWAYS_ON BIT(18)
-#define CFG_AUTO_CLK BIT(23)
-
-#define MESON_SD_EMMC_STATUS 0x48
-#define STATUS_MASK GENMASK(15, 0)
-#define STATUS_ERR_MASK GENMASK(12, 0)
-#define STATUS_RXD_ERR_MASK GENMASK(7, 0)
-#define STATUS_TXD_ERR BIT(8)
-#define STATUS_DESC_ERR BIT(9)
-#define STATUS_RESP_ERR BIT(10)
-#define STATUS_RESP_TIMEOUT BIT(11)
-#define STATUS_DESC_TIMEOUT BIT(12)
-#define STATUS_END_OF_CHAIN BIT(13)
-
-#define MESON_SD_EMMC_IRQ_EN 0x4c
-
-#define MESON_SD_EMMC_CMD_CFG 0x50
-#define CMD_CFG_LENGTH_MASK GENMASK(8, 0)
-#define CMD_CFG_BLOCK_MODE BIT(9)
-#define CMD_CFG_R1B BIT(10)
-#define CMD_CFG_END_OF_CHAIN BIT(11)
-#define CMD_CFG_TIMEOUT_4S (12 << 12)
-#define CMD_CFG_NO_RESP BIT(16)
-#define CMD_CFG_DATA_IO BIT(18)
-#define CMD_CFG_DATA_WR BIT(19)
-#define CMD_CFG_RESP_NOCRC BIT(20)
-#define CMD_CFG_RESP_128 BIT(21)
-#define CMD_CFG_CMD_INDEX_SHIFT 24
-#define CMD_CFG_OWNER BIT(31)
-
-#define MESON_SD_EMMC_CMD_ARG 0x54
-#define MESON_SD_EMMC_CMD_DAT 0x58
-#define MESON_SD_EMMC_CMD_RSP 0x5c
-#define MESON_SD_EMMC_CMD_RSP1 0x60
-#define MESON_SD_EMMC_CMD_RSP2 0x64
-#define MESON_SD_EMMC_CMD_RSP3 0x68
-
-struct meson_mmc_platdata {
- struct mmc_config cfg;
- struct mmc mmc;
- void *regbase;
- void *w_buf;
-};
-
-#endif
diff --git a/arch/arm/mach-meson/board-info.c b/arch/arm/mach-meson/board-info.c
index 3abb27e03b..e61d1adb10 100644
--- a/arch/arm/mach-meson/board-info.c
+++ b/arch/arm/mach-meson/board-info.c
@@ -38,6 +38,7 @@ static const struct meson_gx_soc_id {
{ "G12A", 0x28 },
{ "G12B", 0x29 },
{ "SM1", 0x2b },
+ { "A1", 0x2c },
};
static const struct meson_gx_package_id {
@@ -65,7 +66,11 @@ static const struct meson_gx_package_id {
{ "S905X2", 0x28, 0x40, 0xf0 },
{ "A311D", 0x29, 0x10, 0xf0 },
{ "S922X", 0x29, 0x40, 0xf0 },
- { "S905X3", 0x2b, 0x5, 0xf },
+ { "S905D3", 0x2b, 0x4, 0xf5 },
+ { "S905X3", 0x2b, 0x5, 0xf5 },
+ { "S905X3", 0x2b, 0x10, 0x3f },
+ { "S905D3", 0x2b, 0x30, 0x3f },
+ { "A113L", 0x2c, 0x0, 0xf8 },
};
DECLARE_GLOBAL_DATA_PTR;