mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
u-boot: update to v2020.10
This commit is contained in:
@@ -29,8 +29,8 @@ case "$PROJECT" in
|
||||
PKG_PATCH_DIRS="rockchip"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="v2020.04"
|
||||
PKG_SHA256="56257a55360aa851c7384fcad1c04f4ff1819275af8b01307ec8eebc512786ea"
|
||||
PKG_VERSION="v2020.10"
|
||||
PKG_SHA256="0c022ca6796aa8c0689faae8b515eb62ac84519c31de3153257a9ee0f446618f"
|
||||
PKG_URL="https://github.com/u-boot/u-boot/archive/$PKG_VERSION.tar.gz"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -21,8 +21,8 @@ index 3d65b87d33..1ffeeed6cd 100644
|
||||
CONFIG_MACPWR="PD6"
|
||||
CONFIG_SPL_SPI_SUNXI=y
|
||||
+CONFIG_SPL_I2C_SUPPORT=y
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-pc2"
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_SUN8I_EMAC=y
|
||||
+CONFIG_SY8106A_POWER=y
|
||||
+CONFIG_SY8106A_VOUT1_VOLT=1100
|
||||
|
||||
@@ -226,9 +226,9 @@ index e670793479..c05682a331 100644
|
||||
+ "local-bd-address", bdaddr, ETH_ALEN, 1);
|
||||
+}
|
||||
+
|
||||
int ft_board_setup(void *blob, bd_t *bd)
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
int __maybe_unused r;
|
||||
int __maybe_unused r;
|
||||
@@ -888,6 +920,8 @@ int ft_board_setup(void *blob, bd_t *bd)
|
||||
*/
|
||||
setup_environment(blob);
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 4e109edd71cb99e6085031f160b5677e0f56bcff Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hewitt <christianshewitt@gmail.com>
|
||||
Date: Tue, 6 Oct 2020 12:56:09 +0000
|
||||
Subject: [PATCH 1/2] HACK: prevent stdout/stderr on videoconsole
|
||||
|
||||
Several devices have CONFIG_DM_VIDEO enabled which causes stdout/stderr
|
||||
to appear on videoconsole, so remove videoconsole from STDOUT so that
|
||||
early u-boot boot remains silent unless using the uart/serial console.
|
||||
|
||||
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
||||
---
|
||||
include/configs/meson64.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/configs/meson64.h b/include/configs/meson64.h
|
||||
index c895a24eca..6b0e991a3c 100644
|
||||
--- a/include/configs/meson64.h
|
||||
+++ b/include/configs/meson64.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define CONFIG_BMP_16BPP
|
||||
#define CONFIG_BMP_24BPP
|
||||
#define CONFIG_BMP_32BPP
|
||||
-#define STDOUT_CFG "vidconsole,serial"
|
||||
+#define STDOUT_CFG "serial"
|
||||
#else
|
||||
#define STDOUT_CFG "serial"
|
||||
#endif
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
From 0c0505f7e8ee3ffc96cfa70d609a4140586fa2dc Mon Sep 17 00:00:00 2001
|
||||
From 59a2250691bb734b748d081ddcbc2431cf27bf62 Mon Sep 17 00:00:00 2001
|
||||
From: chewitt <christianshewitt@gmail.com>
|
||||
Date: Fri, 24 Apr 2020 15:15:04 +0000
|
||||
Subject: [PATCH 32/33] HACK: mmc: meson-gx: limit to 24MHz
|
||||
Subject: [PATCH 2/2] HACK: mmc: meson-gx: limit to 24MHz
|
||||
|
||||
---
|
||||
drivers/mmc/meson_gx_mmc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c
|
||||
index 86c1a7164a..0d273c09ad 100644
|
||||
index 719dd1e5e5..dd3dd7c08c 100644
|
||||
--- a/drivers/mmc/meson_gx_mmc.c
|
||||
+++ b/drivers/mmc/meson_gx_mmc.c
|
||||
@@ -264,7 +264,7 @@ static int meson_mmc_probe(struct udevice *dev)
|
||||
@@ -265,7 +265,7 @@ static int meson_mmc_probe(struct udevice *dev)
|
||||
cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT |
|
||||
MMC_MODE_HS_52MHz | MMC_MODE_HS;
|
||||
cfg->f_min = DIV_ROUND_UP(SD_EMMC_CLKSRC_24M, CLK_MAX_DIV);
|
||||
@@ -1,101 +0,0 @@
|
||||
From c3234c37aa9234d0d03b4fe2e9c4aba84069d38b Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Mar 2020 12:12:35 +0100
|
||||
Subject: [PATCH 01/33] FROMGIT: dt-bindings: leds: import common led bindings
|
||||
from linux v5.5
|
||||
|
||||
Import the common leds bindings definition from linux
|
||||
d5226fa6dbae ("Linux 5.5")
|
||||
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
include/dt-bindings/leds/common.h | 75 +++++++++++++++++++++++++++++++
|
||||
1 file changed, 75 insertions(+)
|
||||
create mode 100644 include/dt-bindings/leds/common.h
|
||||
|
||||
diff --git a/include/dt-bindings/leds/common.h b/include/dt-bindings/leds/common.h
|
||||
new file mode 100644
|
||||
index 0000000000..9e1256a7c1
|
||||
--- /dev/null
|
||||
+++ b/include/dt-bindings/leds/common.h
|
||||
@@ -0,0 +1,75 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0 */
|
||||
+/*
|
||||
+ * This header provides macros for the common LEDs device tree bindings.
|
||||
+ *
|
||||
+ * Copyright (C) 2015, Samsung Electronics Co., Ltd.
|
||||
+ * Author: Jacek Anaszewski <j.anaszewski@samsung.com>
|
||||
+ *
|
||||
+ * Copyright (C) 2019 Jacek Anaszewski <jacek.anaszewski@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+#ifndef __DT_BINDINGS_LEDS_H
|
||||
+#define __DT_BINDINGS_LEDS_H
|
||||
+
|
||||
+/* External trigger type */
|
||||
+#define LEDS_TRIG_TYPE_EDGE 0
|
||||
+#define LEDS_TRIG_TYPE_LEVEL 1
|
||||
+
|
||||
+/* Boost modes */
|
||||
+#define LEDS_BOOST_OFF 0
|
||||
+#define LEDS_BOOST_ADAPTIVE 1
|
||||
+#define LEDS_BOOST_FIXED 2
|
||||
+
|
||||
+/* Standard LED colors */
|
||||
+#define LED_COLOR_ID_WHITE 0
|
||||
+#define LED_COLOR_ID_RED 1
|
||||
+#define LED_COLOR_ID_GREEN 2
|
||||
+#define LED_COLOR_ID_BLUE 3
|
||||
+#define LED_COLOR_ID_AMBER 4
|
||||
+#define LED_COLOR_ID_VIOLET 5
|
||||
+#define LED_COLOR_ID_YELLOW 6
|
||||
+#define LED_COLOR_ID_IR 7
|
||||
+#define LED_COLOR_ID_MAX 8
|
||||
+
|
||||
+/* Standard LED functions */
|
||||
+#define LED_FUNCTION_ACTIVITY "activity"
|
||||
+#define LED_FUNCTION_ALARM "alarm"
|
||||
+#define LED_FUNCTION_BACKLIGHT "backlight"
|
||||
+#define LED_FUNCTION_BLUETOOTH "bluetooth"
|
||||
+#define LED_FUNCTION_BOOT "boot"
|
||||
+#define LED_FUNCTION_CPU "cpu"
|
||||
+#define LED_FUNCTION_CAPSLOCK "capslock"
|
||||
+#define LED_FUNCTION_CHARGING "charging"
|
||||
+#define LED_FUNCTION_DEBUG "debug"
|
||||
+#define LED_FUNCTION_DISK "disk"
|
||||
+#define LED_FUNCTION_DISK_ACTIVITY "disk-activity"
|
||||
+#define LED_FUNCTION_DISK_ERR "disk-err"
|
||||
+#define LED_FUNCTION_DISK_READ "disk-read"
|
||||
+#define LED_FUNCTION_DISK_WRITE "disk-write"
|
||||
+#define LED_FUNCTION_FAULT "fault"
|
||||
+#define LED_FUNCTION_FLASH "flash"
|
||||
+#define LED_FUNCTION_HEARTBEAT "heartbeat"
|
||||
+#define LED_FUNCTION_INDICATOR "indicator"
|
||||
+#define LED_FUNCTION_KBD_BACKLIGHT "kbd_backlight"
|
||||
+#define LED_FUNCTION_LAN "lan"
|
||||
+#define LED_FUNCTION_MAIL "mail"
|
||||
+#define LED_FUNCTION_MTD "mtd"
|
||||
+#define LED_FUNCTION_MICMUTE "micmute"
|
||||
+#define LED_FUNCTION_MUTE "mute"
|
||||
+#define LED_FUNCTION_NUMLOCK "numlock"
|
||||
+#define LED_FUNCTION_PANIC "panic"
|
||||
+#define LED_FUNCTION_PROGRAMMING "programming"
|
||||
+#define LED_FUNCTION_POWER "power"
|
||||
+#define LED_FUNCTION_RX "rx"
|
||||
+#define LED_FUNCTION_SD "sd"
|
||||
+#define LED_FUNCTION_SCROLLLOCK "scrolllock"
|
||||
+#define LED_FUNCTION_STANDBY "standby"
|
||||
+#define LED_FUNCTION_STATUS "status"
|
||||
+#define LED_FUNCTION_TORCH "torch"
|
||||
+#define LED_FUNCTION_TX "tx"
|
||||
+#define LED_FUNCTION_USB "usb"
|
||||
+#define LED_FUNCTION_WAN "wan"
|
||||
+#define LED_FUNCTION_WLAN "wlan"
|
||||
+#define LED_FUNCTION_WPS "wps"
|
||||
+
|
||||
+#endif /* __DT_BINDINGS_LEDS_H */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
From aeb0006b6b0bf77bef8bb39cd65ee0a7eb4fabe3 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Mar 2020 12:12:36 +0100
|
||||
Subject: [PATCH 02/33] FROMGIT: mmc: meson-gx: enable input clocks
|
||||
|
||||
Until now, the mmc clock was left in a good enough state by the ROM
|
||||
code to be used by the controller. However on some SoC, if the ROM
|
||||
code finds a bootloader on USB or SPI, it might leave the MMC clock
|
||||
in state the controller cannot work with.
|
||||
|
||||
Enable the input clocks provided to the mmc controller. While the
|
||||
u-boot mmc controller driver is not doing fancy settings like the Linux,
|
||||
it at least needs to make these clocks are running.
|
||||
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
drivers/mmc/meson_gx_mmc.c | 14 +++++++++++++-
|
||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c
|
||||
index b5f5122b1b..86c1a7164a 100644
|
||||
--- a/drivers/mmc/meson_gx_mmc.c
|
||||
+++ b/drivers/mmc/meson_gx_mmc.c
|
||||
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
+#include <clk.h>
|
||||
#include <cpu_func.h>
|
||||
#include <dm.h>
|
||||
#include <fdtdec.h>
|
||||
@@ -241,12 +242,23 @@ static int meson_mmc_probe(struct udevice *dev)
|
||||
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
||||
struct mmc *mmc = &pdata->mmc;
|
||||
struct mmc_config *cfg = &pdata->cfg;
|
||||
+ struct clk_bulk clocks;
|
||||
uint32_t val;
|
||||
+ int ret;
|
||||
+
|
||||
#ifdef CONFIG_PWRSEQ
|
||||
struct udevice *pwr_dev;
|
||||
- int ret;
|
||||
#endif
|
||||
|
||||
+ /* Enable the clocks feeding the MMC controller */
|
||||
+ ret = clk_get_bulk(dev, &clocks);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = clk_enable_bulk(&clocks);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
cfg->voltages = MMC_VDD_33_34 | MMC_VDD_32_33 |
|
||||
MMC_VDD_31_32 | MMC_VDD_165_195;
|
||||
cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT |
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
From fcf29e62ed25bc08e7ed7aa7e5a8a1c8dc070b86 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Mar 2020 12:12:37 +0100
|
||||
Subject: [PATCH 03/33] FROMGIT: clk: meson: reset mmc clock on probe
|
||||
|
||||
On some SoCs, depending on the boot device, the MMC clock block may be
|
||||
left in a weird state by the ROM code, in which no decent clock may be
|
||||
provided. Reset the related register to make sure a sane MMC clock is
|
||||
ready for the controller.
|
||||
|
||||
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Tested-by: Anand Moon <linux.amoon@gmail.com>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
drivers/clk/meson/axg.c | 7 +++++++
|
||||
drivers/clk/meson/g12a.c | 7 +++++++
|
||||
drivers/clk/meson/gxbb.c | 7 +++++++
|
||||
3 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
|
||||
index 7035b59a13..4b0028d04b 100644
|
||||
--- a/drivers/clk/meson/axg.c
|
||||
+++ b/drivers/clk/meson/axg.c
|
||||
@@ -291,6 +291,13 @@ static int meson_clk_probe(struct udevice *dev)
|
||||
if (IS_ERR(priv->map))
|
||||
return PTR_ERR(priv->map);
|
||||
|
||||
+ /*
|
||||
+ * Depending on the boot src, the state of the MMC clock might
|
||||
+ * be different. Reset it to make sure we won't get stuck
|
||||
+ */
|
||||
+ regmap_write(priv->map, HHI_NAND_CLK_CNTL, 0);
|
||||
+ regmap_write(priv->map, HHI_SD_EMMC_CLK_CNTL, 0);
|
||||
+
|
||||
debug("meson-clk-axg: probed\n");
|
||||
|
||||
return 0;
|
||||
diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
|
||||
index 686d94ebfe..9e6beca94a 100644
|
||||
--- a/drivers/clk/meson/g12a.c
|
||||
+++ b/drivers/clk/meson/g12a.c
|
||||
@@ -977,6 +977,13 @@ static int meson_clk_probe(struct udevice *dev)
|
||||
if (IS_ERR(priv->map))
|
||||
return PTR_ERR(priv->map);
|
||||
|
||||
+ /*
|
||||
+ * Depending on the boot src, the state of the MMC clock might
|
||||
+ * be different. Reset it to make sure we won't get stuck
|
||||
+ */
|
||||
+ regmap_write(priv->map, HHI_NAND_CLK_CNTL, 0);
|
||||
+ regmap_write(priv->map, HHI_SD_EMMC_CLK_CNTL, 0);
|
||||
+
|
||||
debug("meson-clk-g12a: probed\n");
|
||||
|
||||
return 0;
|
||||
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
|
||||
index e781e08d9d..5ef4dd794d 100644
|
||||
--- a/drivers/clk/meson/gxbb.c
|
||||
+++ b/drivers/clk/meson/gxbb.c
|
||||
@@ -887,6 +887,13 @@ static int meson_clk_probe(struct udevice *dev)
|
||||
if (IS_ERR(priv->map))
|
||||
return PTR_ERR(priv->map);
|
||||
|
||||
+ /*
|
||||
+ * Depending on the boot src, the state of the MMC clock might
|
||||
+ * be different. Reset it to make sure we won't get stuck
|
||||
+ */
|
||||
+ regmap_write(priv->map, HHI_NAND_CLK_CNTL, 0);
|
||||
+ regmap_write(priv->map, HHI_SD_EMMC_CLK_CNTL, 0);
|
||||
+
|
||||
debug("meson-clk: probed\n");
|
||||
|
||||
return 0;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,236 +0,0 @@
|
||||
From ccbac5c2b2e82ef217f87689aa86afd67993c7d4 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Date: Thu, 5 Mar 2020 12:12:40 +0100
|
||||
Subject: [PATCH 06/33] FROMGIT: arm64: dts: meson: add libretech-pc support
|
||||
|
||||
Add support for the Amlogic based libretech-pc platform.
|
||||
This platform comes with 2 variant, based on the s905d or s912 SoC.
|
||||
|
||||
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
[narmstrong: update board/amlogic/q200/MAINTAINERS]
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm/dts/Makefile | 2 +
|
||||
.../meson-gxl-s905d-libretech-pc-u-boot.dtsi | 7 ++
|
||||
.../meson-gxm-s912-libretech-pc-u-boot.dtsi | 7 ++
|
||||
board/amlogic/q200/MAINTAINERS | 2 +
|
||||
configs/libretech-s905d-pc_defconfig | 73 +++++++++++++++++++
|
||||
configs/libretech-s912-pc_defconfig | 73 +++++++++++++++++++
|
||||
6 files changed, 164 insertions(+)
|
||||
create mode 100644 arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi
|
||||
create mode 100644 configs/libretech-s905d-pc_defconfig
|
||||
create mode 100644 configs/libretech-s912-pc_defconfig
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index 820ee9733a..a80ce9c791 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -147,7 +147,9 @@ dtb-$(CONFIG_ARCH_MESON) += \
|
||||
meson-gxl-s805x-libretech-ac.dtb \
|
||||
meson-gxl-s905x-libretech-cc.dtb \
|
||||
meson-gxl-s905x-khadas-vim.dtb \
|
||||
+ meson-gxl-s905d-libretech-pc.dtb \
|
||||
meson-gxm-khadas-vim2.dtb \
|
||||
+ meson-gxm-s912-libretech-pc.dtb \
|
||||
meson-axg-s400.dtb \
|
||||
meson-g12a-u200.dtb \
|
||||
meson-g12a-sei510.dtb \
|
||||
diff --git a/arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi b/arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..c35158d7e9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/meson-gxl-s905d-libretech-pc-u-boot.dtsi
|
||||
@@ -0,0 +1,7 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS.
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-gx-u-boot.dtsi"
|
||||
diff --git a/arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi b/arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..c35158d7e9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/meson-gxm-s912-libretech-pc-u-boot.dtsi
|
||||
@@ -0,0 +1,7 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS.
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-gx-u-boot.dtsi"
|
||||
diff --git a/board/amlogic/q200/MAINTAINERS b/board/amlogic/q200/MAINTAINERS
|
||||
index d3c5a4617b..6f00f87386 100644
|
||||
--- a/board/amlogic/q200/MAINTAINERS
|
||||
+++ b/board/amlogic/q200/MAINTAINERS
|
||||
@@ -5,3 +5,5 @@ L: u-boot-amlogic@groups.io
|
||||
F: board/amlogic/q200/
|
||||
F: include/configs/q200.h
|
||||
F: configs/khadas-vim2_defconfig
|
||||
+F: configs/libretech-s905d-pc_defconfig
|
||||
+F: configs/libretech-s912-pc_defconfig
|
||||
diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..7e0c95872a
|
||||
--- /dev/null
|
||||
+++ b/configs/libretech-s905d-pc_defconfig
|
||||
@@ -0,0 +1,73 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SYS_BOARD="q200"
|
||||
+CONFIG_ARCH_MESON=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x01000000
|
||||
+CONFIG_MESON_GXL=y
|
||||
+CONFIG_ENV_SIZE=0x10000
|
||||
+CONFIG_ENV_OFFSET=0xFFFF0000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_DEBUG_UART_BASE=0xc81004c0
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_ENV_SECT_SIZE=0x10000
|
||||
+CONFIG_IDENT_STRING=" libretech-s905d-pc"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="usb start"
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_CMD_BDI is not set
|
||||
+# CONFIG_CMD_IMI is not set
|
||||
+CONFIG_CMD_ADC=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+# CONFIG_CMD_LOADS is not set
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_SF=y
|
||||
+CONFIG_CMD_SF_TEST=y
|
||||
+CONFIG_CMD_SPI=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_OF_CONTROL=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="meson-gxl-s905d-libretech-pc"
|
||||
+CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_SARADC_MESON=y
|
||||
+CONFIG_DM_GPIO=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_MESON_GX=y
|
||||
+CONFIG_MTD=y
|
||||
+CONFIG_DM_SPI_FLASH=y
|
||||
+CONFIG_SPI_FLASH=y
|
||||
+CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
+CONFIG_PHY_REALTEK=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_PHY=y
|
||||
+CONFIG_MESON_GXL_USB_PHY=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+CONFIG_PINCTRL_MESON_GXL=y
|
||||
+CONFIG_POWER_DOMAIN=y
|
||||
+CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
|
||||
+CONFIG_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_DEBUG_UART_MESON=y
|
||||
+CONFIG_DEBUG_UART_ANNOUNCE=y
|
||||
+CONFIG_DEBUG_UART_SKIP_INIT=y
|
||||
+CONFIG_MESON_SERIAL=y
|
||||
+CONFIG_SPI=y
|
||||
+CONFIG_DM_SPI=y
|
||||
+CONFIG_MESON_SPIFC=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_DM_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_VIDEO_MESON=y
|
||||
+CONFIG_VIDEO_DT_SIMPLEFB=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..5f4ee329e2
|
||||
--- /dev/null
|
||||
+++ b/configs/libretech-s912-pc_defconfig
|
||||
@@ -0,0 +1,73 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SYS_BOARD="q200"
|
||||
+CONFIG_ARCH_MESON=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x01000000
|
||||
+CONFIG_MESON_GXM=y
|
||||
+CONFIG_ENV_SIZE=0x10000
|
||||
+CONFIG_ENV_OFFSET=0xFFFF0000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_DEBUG_UART_BASE=0xc81004c0
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_ENV_SECT_SIZE=0x10000
|
||||
+CONFIG_IDENT_STRING=" libretech-s912-pc"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="usb start"
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_CMD_BDI is not set
|
||||
+# CONFIG_CMD_IMI is not set
|
||||
+CONFIG_CMD_ADC=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+# CONFIG_CMD_LOADS is not set
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_SF=y
|
||||
+CONFIG_CMD_SF_TEST=y
|
||||
+CONFIG_CMD_SPI=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_OF_CONTROL=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="meson-gxm-s912-libretech-pc"
|
||||
+CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
+CONFIG_NET_RANDOM_ETHADDR=y
|
||||
+CONFIG_SARADC_MESON=y
|
||||
+CONFIG_DM_GPIO=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_MESON_GX=y
|
||||
+CONFIG_MTD=y
|
||||
+CONFIG_DM_SPI_FLASH=y
|
||||
+CONFIG_SPI_FLASH=y
|
||||
+CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
+CONFIG_PHY_REALTEK=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_ETH_DESIGNWARE=y
|
||||
+CONFIG_PHY=y
|
||||
+CONFIG_MESON_GXL_USB_PHY=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+CONFIG_PINCTRL_MESON_GXL=y
|
||||
+CONFIG_POWER_DOMAIN=y
|
||||
+CONFIG_MESON_GX_VPU_POWER_DOMAIN=y
|
||||
+CONFIG_DM_REGULATOR_FIXED=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_DEBUG_UART_MESON=y
|
||||
+CONFIG_DEBUG_UART_ANNOUNCE=y
|
||||
+CONFIG_DEBUG_UART_SKIP_INIT=y
|
||||
+CONFIG_MESON_SERIAL=y
|
||||
+CONFIG_SPI=y
|
||||
+CONFIG_DM_SPI=y
|
||||
+CONFIG_MESON_SPIFC=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_DM_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_VIDEO_MESON=y
|
||||
+CONFIG_VIDEO_DT_SIMPLEFB=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 18e5ef0dc6d2368bfb6cd5736842ad895c1bfc73 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Wed, 15 Apr 2020 17:58:30 +0200
|
||||
Subject: [PATCH 07/33] FROMGIT: ARM: dts: add missing
|
||||
meson-gxl-s805x-libretech-ac-u-boot.dtsi file
|
||||
|
||||
The libretech-ac u-boot.dtsi file is missing to enabled DT nodes changes
|
||||
to enable Video output on U-Boot.
|
||||
|
||||
Fixes: 671b1db8f8 ("arm64: dts: meson-gx: vpu should be probed before relocation")
|
||||
Reported-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
|
||||
---
|
||||
arch/arm/dts/meson-gxl-s805x-libretech-ac-u-boot.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
create mode 100644 arch/arm/dts/meson-gxl-s805x-libretech-ac-u-boot.dtsi
|
||||
|
||||
diff --git a/arch/arm/dts/meson-gxl-s805x-libretech-ac-u-boot.dtsi b/arch/arm/dts/meson-gxl-s805x-libretech-ac-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..c35158d7e9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/meson-gxl-s805x-libretech-ac-u-boot.dtsi
|
||||
@@ -0,0 +1,7 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS.
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-gx-u-boot.dtsi"
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From a630363ac19a63561c0acb4e7d66456a646e0d01 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Thu, 16 Apr 2020 10:39:41 +0200
|
||||
Subject: [PATCH 08/33] FROMGIT: arm64: dts: meson-gx: add back dmc register
|
||||
range until canvas driver is available
|
||||
|
||||
The Linux VPU bindings have changed and dropped the dmc register range.
|
||||
|
||||
Add it back in the meson-gx-u-boot.dtsi file until a proper canvas driver
|
||||
is available.
|
||||
|
||||
Fixes: dd5f2351e9 ("arm64: dts: meson: sync dt and bindings from v5.6-rc2")
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm/dts/meson-gx-u-boot.dtsi | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/dts/meson-gx-u-boot.dtsi b/arch/arm/dts/meson-gx-u-boot.dtsi
|
||||
index b84e5edba4..17d2cb95c1 100644
|
||||
--- a/arch/arm/dts/meson-gx-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/meson-gx-u-boot.dtsi
|
||||
@@ -11,6 +11,10 @@
|
||||
};
|
||||
|
||||
&vpu {
|
||||
+ reg = <0x0 0xd0100000 0x0 0x100000>,
|
||||
+ <0x0 0xc883c000 0x0 0x1000>,
|
||||
+ <0x0 0xc8838000 0x0 0x1000>;
|
||||
+ reg-names = "vpu", "hhi", "dmc";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,109 +0,0 @@
|
||||
From 9102eaa76d81c8465e995fe61297fad4c1791615 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:23 +0200
|
||||
Subject: [PATCH 09/33] FROMGIT: generic-phy: add generic_phy_get_by_node()
|
||||
|
||||
Add generic_phy_get_by_node() to get a PHY phandle from a node instead
|
||||
of a udevice.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Reviewed-by: Tom Rini <trini@konsulko.com>
|
||||
[narmstrong: fixed by including ofnode.h in generic-phy.h]
|
||||
---
|
||||
drivers/phy/phy-uclass.c | 16 +++++++++++-----
|
||||
include/generic-phy.h | 29 +++++++++++++++++++++++++++++
|
||||
2 files changed, 40 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
|
||||
index e201a90c8c..e463b0b400 100644
|
||||
--- a/drivers/phy/phy-uclass.c
|
||||
+++ b/drivers/phy/phy-uclass.c
|
||||
@@ -31,20 +31,20 @@ static int generic_phy_xlate_offs_flags(struct phy *phy,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int generic_phy_get_by_index(struct udevice *dev, int index,
|
||||
- struct phy *phy)
|
||||
+int generic_phy_get_by_node(ofnode node, int index, struct phy *phy)
|
||||
{
|
||||
struct ofnode_phandle_args args;
|
||||
struct phy_ops *ops;
|
||||
struct udevice *phydev;
|
||||
int i, ret;
|
||||
|
||||
- debug("%s(dev=%p, index=%d, phy=%p)\n", __func__, dev, index, phy);
|
||||
+ debug("%s(node=%s, index=%d, phy=%p)\n",
|
||||
+ __func__, ofnode_get_name(node), index, phy);
|
||||
|
||||
assert(phy);
|
||||
phy->dev = NULL;
|
||||
- ret = dev_read_phandle_with_args(dev, "phys", "#phy-cells", 0, index,
|
||||
- &args);
|
||||
+ ret = ofnode_parse_phandle_with_args(node, "phys", "#phy-cells", 0,
|
||||
+ index, &args);
|
||||
if (ret) {
|
||||
debug("%s: dev_read_phandle_with_args failed: err=%d\n",
|
||||
__func__, ret);
|
||||
@@ -90,6 +90,12 @@ err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
+int generic_phy_get_by_index(struct udevice *dev, int index,
|
||||
+ struct phy *phy)
|
||||
+{
|
||||
+ return generic_phy_get_by_node(dev_ofnode(dev), index, phy);
|
||||
+}
|
||||
+
|
||||
int generic_phy_get_by_name(struct udevice *dev, const char *phy_name,
|
||||
struct phy *phy)
|
||||
{
|
||||
diff --git a/include/generic-phy.h b/include/generic-phy.h
|
||||
index 95caf58341..73537025c2 100644
|
||||
--- a/include/generic-phy.h
|
||||
+++ b/include/generic-phy.h
|
||||
@@ -7,6 +7,8 @@
|
||||
#ifndef __GENERIC_PHY_H
|
||||
#define __GENERIC_PHY_H
|
||||
|
||||
+#include <dm/ofnode.h>
|
||||
+
|
||||
struct ofnode_phandle_args;
|
||||
|
||||
/**
|
||||
@@ -193,6 +195,33 @@ int generic_phy_power_off(struct phy *phy);
|
||||
int generic_phy_get_by_index(struct udevice *user, int index,
|
||||
struct phy *phy);
|
||||
|
||||
+/**
|
||||
+ * generic_phy_get_by_node() - Get a PHY device by integer index on ofnode
|
||||
+ *
|
||||
+ * @node: the device node
|
||||
+ * @index: The index in the list of available PHYs
|
||||
+ * @phy: A pointer to the PHY port
|
||||
+ *
|
||||
+ * This looks up a PHY device for a client device based on its ofnode and on
|
||||
+ * its position in the list of the possible PHYs.
|
||||
+ *
|
||||
+ * example:
|
||||
+ * usb1: usb_otg_ss@xxx {
|
||||
+ * compatible = "xxx";
|
||||
+ * reg = <xxx>;
|
||||
+ * .
|
||||
+ * .
|
||||
+ * phys = <&usb2_phy>, <&usb3_phy>;
|
||||
+ * .
|
||||
+ * .
|
||||
+ * };
|
||||
+ * the USB2 phy can be accessed by passing index '0' and the USB3 phy can
|
||||
+ * be accessed by passing index '1'
|
||||
+ *
|
||||
+ * @return 0 if OK, or a negative error code
|
||||
+ */
|
||||
+int generic_phy_get_by_node(ofnode node, int index, struct phy *phy);
|
||||
+
|
||||
/**
|
||||
* generic_phy_get_by_name() - Get a PHY device by its name.
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
From 5d52ec98996401176465a16408862393fcc83fc7 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:24 +0200
|
||||
Subject: [PATCH 10/33] FROMGIT: phy: meson-gxl-usb: add set_mode call to force
|
||||
switch to peripheral mode
|
||||
|
||||
Add set_mode function in the Amlogic GXL PHYs that will be called by
|
||||
the arch code to switch PHYs from/to gadget mode.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm/include/asm/arch-meson/usb-gx.h | 16 +++++++++
|
||||
drivers/phy/meson-gxl-usb2.c | 30 ++++++++++++----
|
||||
drivers/phy/meson-gxl-usb3.c | 44 +++++++++++++++++-------
|
||||
3 files changed, 72 insertions(+), 18 deletions(-)
|
||||
create mode 100644 arch/arm/include/asm/arch-meson/usb-gx.h
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-meson/usb-gx.h b/arch/arm/include/asm/arch-meson/usb-gx.h
|
||||
new file mode 100644
|
||||
index 0000000000..aeb8e0c673
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/include/asm/arch-meson/usb-gx.h
|
||||
@@ -0,0 +1,16 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
+/*
|
||||
+ * Copyright 2019 BayLibre SAS
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+#ifndef _ARCH_MESON_USB_GX_H_
|
||||
+#define _ARCH_MESON_USB_GX_H_
|
||||
+
|
||||
+#include <generic-phy.h>
|
||||
+#include <linux/usb/otg.h>
|
||||
+
|
||||
+/* TOFIX add set_mode to struct phy_ops */
|
||||
+void phy_meson_gxl_usb2_set_mode(struct phy *phy, enum usb_dr_mode mode);
|
||||
+void phy_meson_gxl_usb3_set_mode(struct phy *phy, enum usb_dr_mode mode);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/drivers/phy/meson-gxl-usb2.c b/drivers/phy/meson-gxl-usb2.c
|
||||
index c98d12b627..b4f4c3c76b 100644
|
||||
--- a/drivers/phy/meson-gxl-usb2.c
|
||||
+++ b/drivers/phy/meson-gxl-usb2.c
|
||||
@@ -17,6 +17,9 @@
|
||||
#include <regmap.h>
|
||||
#include <power/regulator.h>
|
||||
#include <clk.h>
|
||||
+#include <linux/usb/otg.h>
|
||||
+
|
||||
+#include <asm/arch/usb-gx.h>
|
||||
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/compat.h>
|
||||
@@ -121,15 +124,30 @@ static void phy_meson_gxl_usb2_reset(struct phy_meson_gxl_usb2_priv *priv)
|
||||
udelay(RESET_COMPLETE_TIME);
|
||||
}
|
||||
|
||||
-static void
|
||||
-phy_meson_gxl_usb2_set_host_mode(struct phy_meson_gxl_usb2_priv *priv)
|
||||
+void phy_meson_gxl_usb2_set_mode(struct phy *phy, enum usb_dr_mode mode)
|
||||
{
|
||||
+ struct udevice *dev = phy->dev;
|
||||
+ struct phy_meson_gxl_usb2_priv *priv = dev_get_priv(dev);
|
||||
uint val;
|
||||
|
||||
regmap_read(priv->regmap, U2P_R0, &val);
|
||||
- val |= U2P_R0_DM_PULLDOWN;
|
||||
- val |= U2P_R0_DP_PULLDOWN;
|
||||
- val &= ~U2P_R0_ID_PULLUP;
|
||||
+
|
||||
+ switch (mode) {
|
||||
+ case USB_DR_MODE_UNKNOWN:
|
||||
+ case USB_DR_MODE_HOST:
|
||||
+ case USB_DR_MODE_OTG:
|
||||
+ val |= U2P_R0_DM_PULLDOWN;
|
||||
+ val |= U2P_R0_DP_PULLDOWN;
|
||||
+ val &= ~U2P_R0_ID_PULLUP;
|
||||
+ break;
|
||||
+
|
||||
+ case USB_DR_MODE_PERIPHERAL:
|
||||
+ val &= ~U2P_R0_DM_PULLDOWN;
|
||||
+ val &= ~U2P_R0_DP_PULLDOWN;
|
||||
+ val |= U2P_R0_ID_PULLUP;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
regmap_write(priv->regmap, U2P_R0, val);
|
||||
|
||||
phy_meson_gxl_usb2_reset(priv);
|
||||
@@ -146,7 +164,7 @@ static int phy_meson_gxl_usb2_power_on(struct phy *phy)
|
||||
val &= ~U2P_R0_POWER_ON_RESET;
|
||||
regmap_write(priv->regmap, U2P_R0, val);
|
||||
|
||||
- phy_meson_gxl_usb2_set_host_mode(priv);
|
||||
+ phy_meson_gxl_usb2_set_mode(phy, USB_DR_MODE_HOST);
|
||||
|
||||
#if CONFIG_IS_ENABLED(DM_REGULATOR)
|
||||
if (priv->phy_supply) {
|
||||
diff --git a/drivers/phy/meson-gxl-usb3.c b/drivers/phy/meson-gxl-usb3.c
|
||||
index c2a8593b39..9de55bb5df 100644
|
||||
--- a/drivers/phy/meson-gxl-usb3.c
|
||||
+++ b/drivers/phy/meson-gxl-usb3.c
|
||||
@@ -16,6 +16,9 @@
|
||||
#include <generic-phy.h>
|
||||
#include <regmap.h>
|
||||
#include <clk.h>
|
||||
+#include <linux/usb/otg.h>
|
||||
+
|
||||
+#include <asm/arch/usb-gx.h>
|
||||
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/compat.h>
|
||||
@@ -93,20 +96,35 @@ struct phy_meson_gxl_usb3_priv {
|
||||
#endif
|
||||
};
|
||||
|
||||
-static int
|
||||
-phy_meson_gxl_usb3_set_host_mode(struct phy_meson_gxl_usb3_priv *priv)
|
||||
+void phy_meson_gxl_usb3_set_mode(struct phy *phy, enum usb_dr_mode mode)
|
||||
{
|
||||
+ struct udevice *dev = phy->dev;
|
||||
+ struct phy_meson_gxl_usb3_priv *priv = dev_get_priv(dev);
|
||||
uint val;
|
||||
|
||||
- regmap_read(priv->regmap, USB_R0, &val);
|
||||
- val &= ~USB_R0_U2D_ACT;
|
||||
- regmap_write(priv->regmap, USB_R0, val);
|
||||
-
|
||||
- regmap_read(priv->regmap, USB_R4, &val);
|
||||
- val &= ~USB_R4_P21_SLEEP_M0;
|
||||
- regmap_write(priv->regmap, USB_R4, val);
|
||||
-
|
||||
- return 0;
|
||||
+ switch (mode) {
|
||||
+ case USB_DR_MODE_UNKNOWN:
|
||||
+ case USB_DR_MODE_HOST:
|
||||
+ case USB_DR_MODE_OTG:
|
||||
+ regmap_read(priv->regmap, USB_R0, &val);
|
||||
+ val &= ~USB_R0_U2D_ACT;
|
||||
+ regmap_write(priv->regmap, USB_R0, val);
|
||||
+
|
||||
+ regmap_read(priv->regmap, USB_R4, &val);
|
||||
+ val &= ~USB_R4_P21_SLEEP_M0;
|
||||
+ regmap_write(priv->regmap, USB_R4, val);
|
||||
+ break;
|
||||
+
|
||||
+ case USB_DR_MODE_PERIPHERAL:
|
||||
+ regmap_read(priv->regmap, USB_R0, &val);
|
||||
+ val |= USB_R0_U2D_ACT;
|
||||
+ regmap_write(priv->regmap, USB_R0, val);
|
||||
+
|
||||
+ regmap_read(priv->regmap, USB_R4, &val);
|
||||
+ val |= USB_R4_P21_SLEEP_M0;
|
||||
+ regmap_write(priv->regmap, USB_R4, val);
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
static int phy_meson_gxl_usb3_power_on(struct phy *phy)
|
||||
@@ -122,7 +140,9 @@ static int phy_meson_gxl_usb3_power_on(struct phy *phy)
|
||||
val |= FIELD_PREP(USB_R5_ID_DIG_TH_MASK, 0xff);
|
||||
regmap_write(priv->regmap, USB_R5, val);
|
||||
|
||||
- return phy_meson_gxl_usb3_set_host_mode(priv);
|
||||
+ phy_meson_gxl_usb3_set_mode(phy, USB_DR_MODE_HOST);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int phy_meson_gxl_usb3_power_off(struct phy *phy)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
From 250936e89ab2a704a78aa8e8648094ee5de8702f Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:25 +0200
|
||||
Subject: [PATCH 11/33] FROMGIT: arm: meson-gx: add board_usb_init()/cleanup()
|
||||
for USB gadget
|
||||
|
||||
Add arch code to initialize USB Gadget mode using the DWC2 controller,
|
||||
and using the previously added set_mode() phy functions.
|
||||
|
||||
[narmstrong: fixup board_usb_cleanup call to phy_meson_gxl_usb2_set_mode]
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
arch/arm/mach-meson/board-gx.c | 118 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 118 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
|
||||
index 191fd49005..3da99017a5 100644
|
||||
--- a/arch/arm/mach-meson/board-gx.c
|
||||
+++ b/arch/arm/mach-meson/board-gx.c
|
||||
@@ -14,6 +14,11 @@
|
||||
#include <asm/io.h>
|
||||
#include <asm/armv8/mmu.h>
|
||||
#include <linux/sizes.h>
|
||||
+#include <usb.h>
|
||||
+#include <linux/usb/otg.h>
|
||||
+#include <asm/arch/usb-gx.h>
|
||||
+#include <usb/dwc2_udc.h>
|
||||
+#include <clk.h>
|
||||
#include <phy.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -149,3 +154,116 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags)
|
||||
/* Enable power gate */
|
||||
clrbits_le32(GX_MEM_PD_REG_0, GX_MEM_PD_REG_0_ETH_MASK);
|
||||
}
|
||||
+
|
||||
+#if CONFIG_IS_ENABLED(USB_XHCI_DWC3_OF_SIMPLE) && \
|
||||
+ CONFIG_IS_ENABLED(USB_GADGET_DWC2_OTG)
|
||||
+static struct dwc2_plat_otg_data meson_gx_dwc2_data;
|
||||
+static struct phy usb_phys[2];
|
||||
+
|
||||
+int board_usb_init(int index, enum usb_init_type init)
|
||||
+{
|
||||
+ struct ofnode_phandle_args args;
|
||||
+ struct udevice *clk_dev;
|
||||
+ ofnode dwc2_node;
|
||||
+ struct clk clk;
|
||||
+ int ret, i;
|
||||
+ u32 val;
|
||||
+
|
||||
+ /* find the dwc2 node */
|
||||
+ dwc2_node = ofnode_by_compatible(ofnode_null(), "snps,dwc2");
|
||||
+ if (!ofnode_valid(dwc2_node)) {
|
||||
+ debug("Not found dwc2 node\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ if (!ofnode_is_available(dwc2_node)) {
|
||||
+ debug("dwc2 is disabled in the device tree\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ /* get the PHYs */
|
||||
+ for (i = 0; i < 2; i++) {
|
||||
+ ret = generic_phy_get_by_node(dwc2_node, i, &usb_phys[i]);
|
||||
+ if (ret && ret != -ENOENT) {
|
||||
+ pr_err("Failed to get USB PHY%d for %s\n",
|
||||
+ i, ofnode_get_name(dwc2_node));
|
||||
+ return ret;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < 2; i++) {
|
||||
+ ret = generic_phy_init(&usb_phys[i]);
|
||||
+ if (ret) {
|
||||
+ pr_err("Can't init USB PHY%d for %s\n",
|
||||
+ i, ofnode_get_name(dwc2_node));
|
||||
+ return ret;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < 2; i++) {
|
||||
+ ret = generic_phy_power_on(&usb_phys[i]);
|
||||
+ if (ret) {
|
||||
+ pr_err("Can't power USB PHY%d for %s\n",
|
||||
+ i, ofnode_get_name(dwc2_node));
|
||||
+ return ret;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ phy_meson_gxl_usb3_set_mode(&usb_phys[0], USB_DR_MODE_PERIPHERAL);
|
||||
+ phy_meson_gxl_usb2_set_mode(&usb_phys[1], USB_DR_MODE_PERIPHERAL);
|
||||
+
|
||||
+ meson_gx_dwc2_data.regs_otg = ofnode_get_addr(dwc2_node);
|
||||
+ if (meson_gx_dwc2_data.regs_otg == FDT_ADDR_T_NONE) {
|
||||
+ debug("usbotg: can't get base address\n");
|
||||
+ return -ENODATA;
|
||||
+ }
|
||||
+
|
||||
+ /* Enable clock */
|
||||
+ ret = ofnode_parse_phandle_with_args(dwc2_node, "clocks",
|
||||
+ "#clock-cells", 0, 0, &args);
|
||||
+ if (ret) {
|
||||
+ debug("usbotg has no clocks defined in the device tree\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = uclass_get_device_by_ofnode(UCLASS_CLK, args.node, &clk_dev);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ if (args.args_count != 1) {
|
||||
+ debug("Can't find clock ID in the device tree\n");
|
||||
+ return -ENODATA;
|
||||
+ }
|
||||
+
|
||||
+ clk.dev = clk_dev;
|
||||
+ clk.id = args.args[0];
|
||||
+
|
||||
+ ret = clk_enable(&clk);
|
||||
+ if (ret) {
|
||||
+ debug("Failed to enable usbotg clock\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ofnode_read_u32(dwc2_node, "g-rx-fifo-size", &val);
|
||||
+ meson_gx_dwc2_data.rx_fifo_sz = val;
|
||||
+ ofnode_read_u32(dwc2_node, "g-np-tx-fifo-size", &val);
|
||||
+ meson_gx_dwc2_data.np_tx_fifo_sz = val;
|
||||
+ ofnode_read_u32(dwc2_node, "g-tx-fifo-size", &val);
|
||||
+ meson_gx_dwc2_data.tx_fifo_sz = val;
|
||||
+
|
||||
+ return dwc2_udc_probe(&meson_gx_dwc2_data);
|
||||
+}
|
||||
+
|
||||
+int board_usb_cleanup(int index, enum usb_init_type init)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ phy_meson_gxl_usb3_set_mode(&usb_phys[0], USB_DR_MODE_HOST);
|
||||
+ phy_meson_gxl_usb2_set_mode(&usb_phys[1], USB_DR_MODE_HOST);
|
||||
+
|
||||
+ for (i = 0; i < 2; i++)
|
||||
+ usb_phys[i].dev = NULL;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
From da97f35bad96e2748744968b35f823dde27dc001 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:26 +0200
|
||||
Subject: [PATCH 12/33] FROMGIT: arm: dts: meson-gxl: Add USB Gadget nodes for
|
||||
U-Boot
|
||||
|
||||
Add the USB DWC2 node to u-boot specific dtsi files since Gadget
|
||||
support is not (yet) available in upstream Linux yet.
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
.../meson-gxl-s905x-khadas-vim-u-boot.dtsi | 2 +-
|
||||
.../meson-gxl-s905x-libretech-cc-u-boot.dtsi | 6 ++++-
|
||||
arch/arm/dts/meson-gxl-s905x-p212-u-boot.dtsi | 2 +-
|
||||
arch/arm/dts/meson-gxl-u-boot.dtsi | 23 +++++++++++++++++++
|
||||
4 files changed, 30 insertions(+), 3 deletions(-)
|
||||
create mode 100644 arch/arm/dts/meson-gxl-u-boot.dtsi
|
||||
|
||||
diff --git a/arch/arm/dts/meson-gxl-s905x-khadas-vim-u-boot.dtsi b/arch/arm/dts/meson-gxl-s905x-khadas-vim-u-boot.dtsi
|
||||
index c35158d7e9..39270ea71c 100644
|
||||
--- a/arch/arm/dts/meson-gxl-s905x-khadas-vim-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/meson-gxl-s905x-khadas-vim-u-boot.dtsi
|
||||
@@ -4,4 +4,4 @@
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
|
||||
-#include "meson-gx-u-boot.dtsi"
|
||||
+#include "meson-gxl-u-boot.dtsi"
|
||||
diff --git a/arch/arm/dts/meson-gxl-s905x-libretech-cc-u-boot.dtsi b/arch/arm/dts/meson-gxl-s905x-libretech-cc-u-boot.dtsi
|
||||
index c35158d7e9..474a3e1604 100644
|
||||
--- a/arch/arm/dts/meson-gxl-s905x-libretech-cc-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/meson-gxl-s905x-libretech-cc-u-boot.dtsi
|
||||
@@ -4,4 +4,8 @@
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
|
||||
-#include "meson-gx-u-boot.dtsi"
|
||||
+#include "meson-gxl-u-boot.dtsi"
|
||||
+
|
||||
+&dwc2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/dts/meson-gxl-s905x-p212-u-boot.dtsi b/arch/arm/dts/meson-gxl-s905x-p212-u-boot.dtsi
|
||||
index c35158d7e9..39270ea71c 100644
|
||||
--- a/arch/arm/dts/meson-gxl-s905x-p212-u-boot.dtsi
|
||||
+++ b/arch/arm/dts/meson-gxl-s905x-p212-u-boot.dtsi
|
||||
@@ -4,4 +4,4 @@
|
||||
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
*/
|
||||
|
||||
-#include "meson-gx-u-boot.dtsi"
|
||||
+#include "meson-gxl-u-boot.dtsi"
|
||||
diff --git a/arch/arm/dts/meson-gxl-u-boot.dtsi b/arch/arm/dts/meson-gxl-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..9e88afd30e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/meson-gxl-u-boot.dtsi
|
||||
@@ -0,0 +1,23 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2019 BayLibre, SAS.
|
||||
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
||||
+ */
|
||||
+
|
||||
+#include "meson-gx-u-boot.dtsi"
|
||||
+
|
||||
+&usb0 {
|
||||
+ dwc2: usb@c9100000 {
|
||||
+ compatible = "snps,dwc2";
|
||||
+ reg = <0x0 0xc9100000 0x0 0x40000>;
|
||||
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&clkc CLKID_USB1_DDR_BRIDGE>;
|
||||
+ clock-names = "ddr";
|
||||
+ phys = <&usb3_phy>, <&usb2_phy1>;
|
||||
+ dr_mode = "peripheral";
|
||||
+ g-rx-fifo-size = <192>;
|
||||
+ g-np-tx-fifo-size = <128>;
|
||||
+ g-tx-fifo-size = <128 128 16 16 16>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From c0a978fcba484af5a0c643a4a7c3b69276a3c0ea Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:27 +0200
|
||||
Subject: [PATCH 13/33] FROMGIT: configs: libretech-cc: Enable USB gadget with
|
||||
Mass Storage function
|
||||
|
||||
Enable configs to support USB gadget and Mass Storage
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
configs/libretech-cc_defconfig | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig
|
||||
index 7c257b33b3..2c512ebc1e 100644
|
||||
--- a/configs/libretech-cc_defconfig
|
||||
+++ b/configs/libretech-cc_defconfig
|
||||
@@ -19,6 +19,7 @@ CONFIG_CMD_GPIO=y
|
||||
# CONFIG_CMD_LOADS is not set
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
@@ -51,6 +52,12 @@ CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
|
||||
CONFIG_USB_DWC3=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
|
||||
+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
|
||||
+CONFIG_USB_GADGET_DWC2_OTG=y
|
||||
+CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
# CONFIG_VIDEO_BPP8 is not set
|
||||
# CONFIG_VIDEO_BPP16 is not set
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From a1657ae3f2b3101d12994b8936bbcecf899979b8 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:28 +0200
|
||||
Subject: [PATCH 14/33] FROMGIT: configs: libretech-ac: Enable USB gadget with
|
||||
Mass Storage function
|
||||
|
||||
Enable configs to support USB gadget and Mass Storage
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
configs/libretech-ac_defconfig | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig
|
||||
index 09b87c54d5..7e486757a2 100644
|
||||
--- a/configs/libretech-ac_defconfig
|
||||
+++ b/configs/libretech-ac_defconfig
|
||||
@@ -27,6 +27,7 @@ CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
@@ -69,6 +70,12 @@ CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_KEYBOARD=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
|
||||
+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
|
||||
+CONFIG_USB_GADGET_DWC2_OTG=y
|
||||
+CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
# CONFIG_VIDEO_BPP8 is not set
|
||||
# CONFIG_VIDEO_BPP16 is not set
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From c91bbf06c3b7489bc90a10c2bcaf20e84a251cd9 Mon Sep 17 00:00:00 2001
|
||||
From: Neil Armstrong <narmstrong@baylibre.com>
|
||||
Date: Mon, 30 Mar 2020 11:27:29 +0200
|
||||
Subject: [PATCH 15/33] FROMGIT: configs: khadas-vim2: Enable USB gadget with
|
||||
Mass Storage function
|
||||
|
||||
Enable configs to support USB gadget and Mass Storage
|
||||
|
||||
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
|
||||
---
|
||||
configs/khadas-vim2_defconfig | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/configs/khadas-vim2_defconfig b/configs/khadas-vim2_defconfig
|
||||
index 9cb377e55e..a533566410 100644
|
||||
--- a/configs/khadas-vim2_defconfig
|
||||
+++ b/configs/khadas-vim2_defconfig
|
||||
@@ -20,6 +20,7 @@ CONFIG_CMD_GPIO=y
|
||||
# CONFIG_CMD_LOADS is not set
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
+CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_REGULATOR=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
@@ -49,4 +50,10 @@ CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
|
||||
CONFIG_USB_DWC3=y
|
||||
+# CONFIG_USB_DWC3_GADGET is not set
|
||||
+CONFIG_USB_GADGET=y
|
||||
+CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e
|
||||
+CONFIG_USB_GADGET_PRODUCT_NUM=0xfada
|
||||
+CONFIG_USB_GADGET_DWC2_OTG=y
|
||||
+CONFIG_USB_GADGET_DOWNLOAD=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.17.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user