Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .rstcheck.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ ignore_directives = ifconfig
# ignore the following languages because they require external compilers and
# snippets in this repo depend on external code
ignore_languages = c,cpp,c++
ignore_substitutions = __PART_FAMILY_NAME__,__PART_FAMILY_DEVICE_NAMES__,__PRODUCT_LINE_NAME__,__SDK_BUILD_MACHINE__,__SDK_FULL_NAME__,__SDK_SHORT_NAME__,__SDK_INSTALL_FILE__,__SDK_INSTALL_DIR__,__SDK_DOWNLOAD_URL__,__LINUX_UBUNTU_VERSION_LONG__,__LINUX_UBUNTU_VERSION_SHORT__,__OPTEE_PLATFORM_FLAVOR__,__RTOS_UBUNTU_VERSION_LONG__,__WINDOWS_SUPPORTED_LONG__,__FEATURINGMATRIX__,__SYSFW_CORE_NAME__,__PCIE_BASE_ADDRESS__,__PCIE_DEVICE_ID__,__IMAGE_TYPE__
ignore_substitutions = __PART_FAMILY_NAME__,__PART_FAMILY_DEVICE_NAMES__,__PRODUCT_LINE_NAME__,__SDK_BUILD_MACHINE__,__SDK_FULL_NAME__,__SDK_SHORT_NAME__,__SDK_INSTALL_FILE__,__SDK_INSTALL_DIR__,__SDK_DOWNLOAD_URL__,__LINUX_UBUNTU_VERSION_LONG__,__LINUX_UBUNTU_VERSION_SHORT__,__OPTEE_PLATFORM_FLAVOR__,__RTOS_UBUNTU_VERSION_LONG__,__WINDOWS_SUPPORTED_LONG__,__FEATURINGMATRIX__,__SYSFW_CORE_NAME__,__PCIE_BASE_ADDRESS__,__PCIE_DEVICE_ID__,__IMAGE_TYPE__,__SDK_OS_NAME__
ignore_messages = (Hyperlink target.*is not referenced\.)
16 changes: 13 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,20 @@ $(info ROOTDIR is $(ROOTDIR))

$(info DEVFAMILY is $(DEVFAMILY_UP))

ifeq ($(DEVFAMILY_UP), $(filter $(DEVFAMILY_UP), J721E J7200 J721S2 J784S4 AM68 AM69 J722S AM67 J742S2 AM68A AM67A AM69A TDA4VM))
CONFDIR = source/devices/J7_Family/${OS_LOW}
ifeq ($(OS_LOW), android)
# For Android, AM67A and AM67 have their own device directories
ifeq ($(DEVFAMILY_UP), $(filter $(DEVFAMILY_UP), J721E J7200 J721S2 J784S4 AM68 AM69 J722S J742S2 AM68A AM69A TDA4VM))
CONFDIR = source/devices/J7_Family/${OS_LOW}
else
CONFDIR = source/devices/$(DEVFAMILY_UP)/${OS_LOW}
endif
else
CONFDIR = source/devices/$(DEVFAMILY_UP)/${OS_LOW}
# For Linux and other OSes, use J7_Family grouping including AM67A and AM67
ifeq ($(DEVFAMILY_UP), $(filter $(DEVFAMILY_UP), J721E J7200 J721S2 J784S4 AM68 AM69 J722S AM67 J742S2 AM68A AM67A AM69A TDA4VM))
CONFDIR = source/devices/J7_Family/${OS_LOW}
else
CONFDIR = source/devices/$(DEVFAMILY_UP)/${OS_LOW}
endif
endif

$(info CONFDIR is $(CONFDIR))
Expand Down
18 changes: 10 additions & 8 deletions configs/AM62PX/AM62PX_android_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@ devices/AM62PX/android/index
devices/AM62PX/android/Release_Specific
devices/AM62PX/android/Release_Specific_Release_Notes
devices/AM62PX/android/Application_Notes
devices/AM62PX/android/Application_Notes_Partitions
devices/AM62PX/android/Application_Notes_dtbo_support
devices/AM62PX/android/Application_Notes_Android_Bootloader_SD_Card
devices/AM62PX/android/Application_Notes_Android_SD_CARD
devices/AM62PX/android/Application_Notes_Android_Dual_Screen
devices/AM62PX/android/Application_Notes_Android_Low_Power
devices/AM62PX/android/Application_Notes_Camera
devices/AM62PX/android/Application_Notes_Android_Multimedia_Video
devices/AM62PX/android/Application_Notes_Sample_Maps_App

android/Application_Notes_Android_Bootloader_SD_Card
android/Application_Notes_Android_Dual_Screen
android/Application_Notes_Android_Low_Power
android/Application_Notes_Android_Multimedia_Video
android/Application_Notes_Android_SD_CARD
android/Application_Notes_Android_Secure_Build
android/Application_Notes_Camera
android/Application_Notes_Partitions
android/Application_Notes_Sample_Maps_App
android/Application_Notes_Simple_UI_App
android/Overview_Getting_Started_Guide
android/Overview_Building_the_SDK
android/Overview
Expand Down
16 changes: 9 additions & 7 deletions configs/AM62X/AM62X_android_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@ devices/AM62X/android/index
devices/AM62X/android/Release_Specific
devices/AM62X/android/Release_Specific_Release_Notes
devices/AM62X/android/Application_Notes
devices/AM62X/android/Application_Notes_Partitions
devices/AM62X/android/Application_Notes_dtbo_support
devices/AM62X/android/Application_Notes_Android_Bootloader_SD_Card
devices/AM62X/android/Application_Notes_Android_SD_CARD
devices/AM62X/android/Application_Notes_Android_Dual_Screen
devices/AM62X/android/Application_Notes_Android_Low_Power
devices/AM62X/android/Application_Notes_Camera
devices/AM62X/android/Application_Notes_Simple_UI_App
devices/AM62X/android/Application_Notes_BeaglePlay

android/Application_Notes_Android_Bootloader_SD_Card
android/Application_Notes_Android_Dual_Screen
android/Application_Notes_Android_Low_Power
android/Application_Notes_Android_SD_CARD
android/Application_Notes_Android_Secure_Build
android/Application_Notes_Camera
android/Application_Notes_Partitions
android/Application_Notes_Sample_Maps_App
android/Application_Notes_Simple_UI_App
android/Overview_Getting_Started_Guide
android/Overview_Building_the_SDK
android/Overview
Expand Down
38 changes: 38 additions & 0 deletions configs/AM67A/AM67A_android_config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# General family replacement variables and configuration values for Android build

# This file is processed by Python scripts to define both replacement
# variable and configuration values for a device family build.
# For replacement variables, all variables should be listed on a single
# line, and all the variables should be listed on consecutive lines
# (i.e. no additional blank lines between the replacement variables).
# Similarly, all the configuration values should be listed on individual,
# consecutive lines (with no blank linues between the configuration values).
#
# Note that neither replacement variables nor configuration values may contain
# a colon (i.e. ":") in their name. However, values may contain colons.

Replacement Variables
---------------------
'__PART_FAMILY_NAME__' : 'AM67A'
'__PART_FAMILY_DEVICE_NAMES__' : 'AM67A'
'__PRODUCT_LINE_NAME__' : 'Sitara MPU'
'__SDK_OS_NAME__' : 'Processor SDK Android'
'__SDK_FULL_NAME__' : 'Processor SDK Android AM67A'
'__SDK_SHORT_NAME__' : 'PSDKA'
'__LINUX_UBUNTU_VERSION_LONG__' : '22.04 (64-bit)'
'__LINUX_UBUNTU_VERSION_SHORT__' : '22.04'
'__RTOS_UBUNTU_VERSION_LONG__' : '22.04 (64-bit), 16.04 (64-bit)'
'__WINDOWS_SUPPORTED_LONG__' : '10 (64-bit)'
'__FEATURINGMATRIX__' : \
'__SYSFW_CORE_NAME__' : 'TIFS'

Configuration Values
--------------------
'CONFIG_part_family' : 'AM67A_family'
'CONFIG_part_variant' : 'AM67A'
'CONFIG_sdk' : 'PSDKA'
'CONFIG_icss_support' : 'no'
'CONFIG_rt_linux_support' : 'no'
'CONFIG_gpu_ip' : 'Rogue_BXS'
'CONFIG_crypto' : 'sa2ul'
'CONFIG_mcrc' : 'mcrc'
9 changes: 9 additions & 0 deletions configs/AM67A/AM67A_android_tags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Device Family name
fam_name = 'AM67A'

# Project name and HTML title
project = u'Processor SDK Android for AM67A'
html_title = 'Processor SDK AM67A Documentation'

# The master toctree document.
master_doc = 'devices/AM67A/android/index'
26 changes: 26 additions & 0 deletions configs/AM67A/AM67A_android_toc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
devices/AM67A/android/index
devices/AM67A/android/Release_Specific
devices/AM67A/android/Release_Specific_Release_Notes
devices/AM67A/android/Application_Notes
devices/AM67A/android/Application_Notes_dtbo_support
devices/AM67A/android/Application_Notes_BeagleY_AI

android/Application_Notes_Android_Bootloader_SD_Card
android/Application_Notes_Android_Dual_Screen
android/Application_Notes_Android_Multimedia_Video
android/Application_Notes_Android_SD_CARD
android/Application_Notes_Android_Secure_Build
android/Application_Notes_Camera
android/Application_Notes_Partitions
android/Application_Notes_Sample_Maps_App
android/Application_Notes_Simple_UI_App
android/Overview_Getting_Started_Guide
android/Overview_Building_the_SDK
android/Overview
android/Overview_Technical_Support
android/Overview_Flashing

android/Foundational_Components
android/Foundational_Components_Kernel
android/Foundational_Components_Bootloaders
android/Foundational_Components_OTA
178 changes: 178 additions & 0 deletions source/android/Application_Notes_Android_Bootloader_SD_Card.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
.. _android-bootloader-sdcard:

#############################
Android Bootloader on SD Card

Check failure on line 4 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsErrors] Use 'boot loader' rather than 'Bootloader'. Raw Output: {"message": "[RedHat.TermsErrors] Use 'boot loader' rather than 'Bootloader'.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 4, "column": 9}}}, "severity": "ERROR"}

Check warning on line 4 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'Bootloader'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'Bootloader'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 4, "column": 9}}}, "severity": "WARNING"}

Check warning on line 4 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'Android Bootloader on SD Card'. Raw Output: {"message": "[RedHat.Headings] Use sentence-style capitalization in 'Android Bootloader on SD Card'.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 4, "column": 1}}}, "severity": "INFO"}
#############################

This application note contains steps to flash initial bootloaders

Check warning on line 7 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'bootloaders'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'bootloaders'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 7, "column": 55}}}, "severity": "WARNING"}

Check warning on line 7 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SimpleWords] Use simple language. Consider using 'has' rather than 'contains'. Raw Output: {"message": "[RedHat.SimpleWords] Use simple language. Consider using 'has' rather than 'contains'.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 7, "column": 23}}}, "severity": "INFO"}
from SD Card instead of using snagboot.

Check warning on line 8 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'snagboot'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'snagboot'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 8, "column": 31}}}, "severity": "WARNING"}

****************
SD Card Creation

Check warning on line 11 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'SD Card Creation'. Raw Output: {"message": "[RedHat.Headings] Use sentence-style capitalization in 'SD Card Creation'.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 11, "column": 1}}}, "severity": "INFO"}
****************

In order to flash the AM62x board's eMMC the fist time, a SD card containing the required bootloaders will have to be used

Check warning on line 14 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'be used' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'be used' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 14, "column": 116}}}, "severity": "INFO"}

Check warning on line 14 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'bootloaders'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'bootloaders'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 14, "column": 91}}}, "severity": "WARNING"}

Check warning on line 14 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsWarnings] Consider using 'to' rather than 'In order to' unless updating existing content that uses the term. Raw Output: {"message": "[RedHat.TermsWarnings] Consider using 'to' rather than 'In order to' unless updating existing content that uses the term.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 14, "column": 1}}}, "severity": "WARNING"}
to boot into U-Boot and use fastboot.

Check warning on line 15 in source/android/Application_Notes_Android_Bootloader_SD_Card.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'fastboot'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'fastboot'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/android/Application_Notes_Android_Bootloader_SD_Card.rst", "range": {"start": {"line": 15, "column": 29}}}, "severity": "WARNING"}

.. warning::

Make sure to use the same bootloaders as the release you are flashing.
The latest release is ``11.00.00``.

Identify the SD Card
====================

To start, identify your SD card with:

.. code-block:: console

$ sudo fdisk -l

In this example, the SD card will be: ``/dev/mmcblk0``.

Prepare the SD Card
===================

The preparation of the SD Card is done via the :file:`flashall.sh` script.
Make sure to identify the board model, and the SD card path.

Then, run:

.. ifconfig:: CONFIG_part_variant in ('AM62X')

.. code-block:: console

# If you are using binaries built locally
$ cd out/target/product/am62x

(OR)

# If you are using pre-built binaries from SDK download page
$ cd AM62x_11.00.00_emmc

# for AM62x SK EVM (GP)
$ sudo ./flashall.sh --board am62x-sk --bootloader --sdcard /dev/mmcblk0

# for AM62x SK EVM (HS-FS)
$ sudo ./flashall.sh --board am62x-sk --hsfs --bootloader --sdcard /dev/mmcblk0

# for AM62x LP SK EVM (GP)
$ sudo ./flashall.sh --board am62x-lp-sk --bootloader --sdcard /dev/mmcblk0

# for AM62x LP SK EVM (HS-FS)
$ sudo ./flashall.sh --board am62x-lp-sk --bootloader --hsfs --sdcard /dev/mmcblk0

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

.. code-block:: console

# If you are using binaries built locally
$ cd out/target/product/am62p

(OR)

# If you are using pre-built binaries from SDK download page
$ cd AM62Px_11.00.00_emmc

$ sudo ./flashall.sh --board am62px-sk --bootloader --sdcard /dev/mmcblk0

.. ifconfig:: CONFIG_part_variant in ('AM67A')

.. code-block:: console

# If you are using binaries built locally
$ cd out/target/product/am67a

(OR)

# If you are using pre-built binaries from SDK download page
$ cd AM67A_11.00.00_emmc

# for AM67a EVM (HS-FS only)
$ sudo ./flashall.sh --board am67a-evm --bootloader --sdcard /dev/mmcblk0

*************
eMMC flashing
*************

Flashing instructions
=====================

Once the build is complete, follow the steps below to flash the images to eMMC.
Use the SD card created in previous step to get started.

Procedure is same whether the pre-built images from SDK download page is used or
the images are built from source.

1. Change the Boot Mode DIP switches to SD card boot mode:

.. ifconfig:: CONFIG_part_variant in ('AM62X')

.. list-table::
:widths: 16 16 16
:header-rows: 1

* - Switch Label
- SW2: 12345678
- SW3: 12345678

* - SD
- 01000000
- 11000010

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

.. list-table::
:widths: 16 16 16
:header-rows: 1

* - Switch Label
- SW5: 12345678
- SW4: 12345678

* - SD
- 01000000
- 11000010

.. ifconfig:: CONFIG_part_variant in ('AM67A')

.. list-table::
:widths: 16 16 16
:header-rows: 1

* - Switch Label
- SW3: 12345678
- SW4: 12345678

* - SD
- 11000010
- 01000000

2. Insert the SD card into the |__PART_FAMILY_NAME__| SK EVM.

3. Ensure the device is plugged in with USB host and debug UART/serial debug

4. Open a terminal debugger to view console output from the device:

.. ifconfig:: CONFIG_part_variant in ('AM62X','AM62PX')

.. code-block:: console

$ sudo picocom -b 115200 -r -l /dev/ttyUSB0

.. ifconfig:: CONFIG_part_variant in ('AM67A')

.. code-block:: console

$ sudo picocom -b 115200 -r -l /dev/ttyUSB2

5. Boot the board with SD card.

6. Stop at U-Boot console (interrupt the auto-boot countdown) and do below commands to setup Android
partition table:

.. code-block:: console

=> env default -f -a; saveenv

Then, continue following the default :ref:`flashing instructions from step 5<step_5_flashing_instructions>`.
Loading
Loading