From: Aswath Govindraju <a-govindraju@ti.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>,
Praneeth Bajjuri <praneeth@ti.com>,
Aswath Govindraju <a-govindraju@ti.com>,
Lokesh Vutla <lokeshvutla@ti.com>,
Dave Gerlach <d-gerlach@ti.com>,
Vignesh Raghavendra <vigneshr@ti.com>, Nishanth Menon <nm@ti.com>,
Suman Anna <s-anna@ti.com>, Keerthy <j-keerthy@ti.com>,
<u-boot@lists.denx.de>
Subject: [PATCH v3 02/10] arm: mach-k3: am642_init: Add support for USB boot mode
Date: Fri, 4 Jun 2021 22:00:32 +0530 [thread overview]
Message-ID: <20210604163043.12811-3-a-govindraju@ti.com> (raw)
In-Reply-To: <20210604163043.12811-1-a-govindraju@ti.com>
Add support for identifying USB host and device boot modes
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
arch/arm/mach-k3/am642_init.c | 13 +++++++++++--
arch/arm/mach-k3/include/mach/am64_hardware.h | 5 +++++
arch/arm/mach-k3/include/mach/am64_spl.h | 6 ++++--
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-k3/am642_init.c b/arch/arm/mach-k3/am642_init.c
index a433702b4e30..1a2bc4bb9048 100644
--- a/arch/arm/mach-k3/am642_init.c
+++ b/arch/arm/mach-k3/am642_init.c
@@ -192,8 +192,11 @@ static u32 __get_backup_bootmedia(u32 main_devstat)
case BACKUP_BOOT_DEVICE_UART:
return BOOT_DEVICE_UART;
- case BACKUP_BOOT_DEVICE_USB:
- return BOOT_DEVICE_USB;
+ case BACKUP_BOOT_DEVICE_DFU:
+ if (bkup_bootmode_cfg & MAIN_DEVSTAT_BACKUP_USB_MODE_MASK)
+ return BOOT_DEVICE_USB;
+ return BOOT_DEVICE_DFU;
+
case BACKUP_BOOT_DEVICE_ETHERNET:
return BOOT_DEVICE_ETHERNET;
@@ -245,6 +248,12 @@ static u32 __get_primary_bootmedia(u32 main_devstat)
return BOOT_DEVICE_MMC2;
return BOOT_DEVICE_MMC1;
+ case BOOT_DEVICE_DFU:
+ if ((bootmode_cfg & MAIN_DEVSTAT_PRIMARY_USB_MODE_MASK) >>
+ MAIN_DEVSTAT_PRIMARY_USB_MODE_SHIFT)
+ return BOOT_DEVICE_USB;
+ return BOOT_DEVICE_DFU;
+
case BOOT_DEVICE_NOBOOT:
return BOOT_DEVICE_RAM;
}
diff --git a/arch/arm/mach-k3/include/mach/am64_hardware.h b/arch/arm/mach-k3/include/mach/am64_hardware.h
index c368aa7e6bf1..4ee41ad762ba 100644
--- a/arch/arm/mach-k3/include/mach/am64_hardware.h
+++ b/arch/arm/mach-k3/include/mach/am64_hardware.h
@@ -30,6 +30,11 @@
#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_SHIFT 2
#define MAIN_DEVSTAT_PRIMARY_MMC_PORT_MASK 0x04
+#define MAIN_DEVSTAT_PRIMARY_USB_MODE_SHIFT 1
+#define MAIN_DEVSTAT_PRIMARY_USB_MODE_MASK 0x02
+
+#define MAIN_DEVSTAT_BACKUP_USB_MODE_MASK 0x01
+
/*
* The CTRL_MMR and PADCFG_MMR memory space is divided into several
* equally-spaced partitions, so defining the partition size allows us to
diff --git a/arch/arm/mach-k3/include/mach/am64_spl.h b/arch/arm/mach-k3/include/mach/am64_spl.h
index 36826cfc4ed0..607b09c2e5dc 100644
--- a/arch/arm/mach-k3/include/mach/am64_spl.h
+++ b/arch/arm/mach-k3/include/mach/am64_spl.h
@@ -19,7 +19,8 @@
#define BOOT_DEVICE_MMC 0x08
#define BOOT_DEVICE_EMMC 0x09
-#define BOOT_DEVICE_USB 0x0A
+#define BOOT_DEVICE_USB 0x2A
+#define BOOT_DEVICE_DFU 0x0A
#define BOOT_DEVICE_GPMC_NOR 0x0C
#define BOOT_DEVICE_PCIE 0x0D
#define BOOT_DEVICE_XSPI 0x0E
@@ -32,12 +33,13 @@
#define BOOT_DEVICE_MMC2_2 0x1F
/* Backup BootMode devices */
-#define BACKUP_BOOT_DEVICE_USB 0x01
+#define BACKUP_BOOT_DEVICE_DFU 0x01
#define BACKUP_BOOT_DEVICE_UART 0x03
#define BACKUP_BOOT_DEVICE_ETHERNET 0x04
#define BACKUP_BOOT_DEVICE_MMC 0x05
#define BACKUP_BOOT_DEVICE_SPI 0x06
#define BACKUP_BOOT_DEVICE_I2C 0x07
+#define BACKUP_BOOT_DEVICE_USB 0x09
#define K3_PRIMARY_BOOTMODE 0x0
--
2.17.1
next prev parent reply other threads:[~2021-06-04 16:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-04 16:30 [PATCH v3 00/10] AM642-EVM: Add USB support Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 01/10] tools: k3_fit_atf: Add support for providing ATF load address using a Kconfig symbol Aswath Govindraju
2021-06-04 16:30 ` Aswath Govindraju [this message]
2021-06-04 16:30 ` [PATCH v3 03/10] arm: mach-k3: am642_init: Do USB fixups to facilitate host and device boot modes Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 04/10] board: ti: am64x: Set the core voltage of USB PHY to 0.85V Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 05/10] arm: dts: k3-am64-main: Add USB DT nodes Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 06/10] arm: dts: k3-am642-*-evm: Add USB support Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 07/10] arm: dts: k3-am642-evm-u-boot: Add U-Boot tags and fix the dr_mode to peripheral for USB subsystem Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 08/10] configs: am64x_evm_*_defconfig: Rearrange the components in SRAM to satisfy the limitations for USB DFU boot mode Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 09/10] arm: dts: k3-am64-main: Update the location of ATF in SRAM and increase its max size Aswath Govindraju
2021-06-04 16:30 ` [PATCH v3 10/10] configs: am64: Enable configs to support USB host and device modes Aswath Govindraju
2021-06-04 16:48 ` [PATCH v3 00/10] AM642-EVM: Add USB support Praneeth Bajjuri
2021-06-04 16:49 ` Aswath Govindraju
2021-06-04 16:53 ` Praneeth Bajjuri
2021-06-07 4:16 ` Praneeth Bajjuri
2021-06-09 12:30 ` Aswath Govindraju
2021-06-09 16:55 ` Lokesh Vutla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210604163043.12811-3-a-govindraju@ti.com \
--to=a-govindraju@ti.com \
--cc=d-gerlach@ti.com \
--cc=j-keerthy@ti.com \
--cc=kishon@ti.com \
--cc=lokeshvutla@ti.com \
--cc=nm@ti.com \
--cc=praneeth@ti.com \
--cc=s-anna@ti.com \
--cc=u-boot@lists.denx.de \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.