From 93163c5e2d84a56de83602cf2f0f71ac7881a97a Mon Sep 17 00:00:00 2001 From: Deepak Khatri <lorforlinux@beagleboard.org> Date: Fri, 3 Mar 2023 18:01:40 +0530 Subject: [PATCH] Merge chapter1 & chapter4 --- boards/beagleplay/01-introduction.rst | 199 +++++++++++++++++- boards/beagleplay/04-detailed-overview.rst | 186 ---------------- .../04-detailed-overview.jpg | Bin 16847 -> 0 bytes 3 files changed, 192 insertions(+), 193 deletions(-) delete mode 100644 boards/beagleplay/04-detailed-overview.rst delete mode 100644 boards/beagleplay/images/chapter-thumbnails/04-detailed-overview.jpg diff --git a/boards/beagleplay/01-introduction.rst b/boards/beagleplay/01-introduction.rst index a8418ac1..cc44dfc6 100644 --- a/boards/beagleplay/01-introduction.rst +++ b/boards/beagleplay/01-introduction.rst @@ -11,7 +11,13 @@ compatibility with 1,000s of off-the-shelf add-ons and a customized Debian Linux makes expansion and customization easy. It also includes ribbon-cable connections for cameras and touch-screen displays, and a socket for a battery-backed real-time-clock, making it ideal for human-machine interface designs. With its competitive price and user-friendly design, BeaglePlay -provides a positive development experience for users. +provides a positive development experience for users. Some of the real world applications for BeaglePlay +includes: + +- Building/industrial automation gateways +- Digital signage +- Human Machine Interface (HMI) +- BeagleConnect sensor gateways .. admonition:: Contributors @@ -29,11 +35,190 @@ provides a positive development experience for users. :align: center :alt: BeaglePlay -Applications -************* +.. _beagleplay-detailed-overview: + +Detailed overview +****************** + +BeaglePlay is built around Texas Instruments AM62x Sitara™ Processors which is a +Human-machine-interaction SoC with Arm® Cortex®-A53. It comes with 2GB DDR4 RAM, 16GB eMMC storage, +Full size HDMI, USB-A host port, USB-C power & connectivity port, serial debug interface, and much more. + +.. table:: BeaglePlay features + + +----------------------------+---------------------------------------------------------------------------+ + | Feature | Description | + +============================+===========================================================================+ + | Processor | TI AM6254 (multicore A53s with R5, M4s and PRUs) | + +----------------------------+---------------------------------------------------------------------------+ + | PMIC | TPS6521901 | + +----------------------------+---------------------------------------------------------------------------+ + | Memory | 2GB DDR4 | + +----------------------------+---------------------------------------------------------------------------+ + | Storage | 16GB eMMC | + +----------------------------+---------------------------------------------------------------------------+ + | WiFi | - PHY: WL1807MOD (roadmap to next-gen TI WiFi) | + | | - Antennas: 2.4GHz & 5GHz | + +----------------------------+---------------------------------------------------------------------------+ + | BLE/SubG | - CC1352P7 M4+M0 with BeagleConnect firmware | + | | - BeagleConnect Wireless enabled | + | | - Antennas: 2.4GHz & SubG IEEE802.15.4 software defined radio (SDR) | + +----------------------------+---------------------------------------------------------------------------+ + | Ethernet | - PHY: Realtek RTL8211F-VD-CG gigabit Ethernet phy | + | | - Connector: integrated magnetics RJ-45 | + +----------------------------+---------------------------------------------------------------------------+ + | Single-pair Ethernet | - BeagleConnect Wired enabled | + | | - PHY: DP83TD510E 10Mbit single-pair Ethernet phy | + | | - Connector: RJ-11 jack | + | | - Power (PoDL): Input: N/A (protection to 12V), Output: 5V @ 250mA | + | | - Isolation: ??? | + +----------------------------+---------------------------------------------------------------------------+ + | USB type-C | - PD/CC: None, HS shorted to both sides | + | | - Power: Input: 5V @ 3A, Output: N/A | + +----------------------------+---------------------------------------------------------------------------+ + | HDMI | - PHY: IT66121 | + | | - Connector: full-size | + +----------------------------+---------------------------------------------------------------------------+ + | Other connectors | - microSD | + | | - USB type-A (480Mbit) | + | | - mikroBUS connector (I2C/UART/SPI/MCAN/MCASP/PWM/GPIO) | + | | - Grove connector (I2C/UART/ADC/PWM/GPIO) | + | | - QWIIC connector (I2C) | + | | - CSI connector like BBAI-64/R-Pi | + | | - OLDI connector (40-pin) | + +----------------------------+---------------------------------------------------------------------------+ + +AM6254 SoC +=========== + +The low-cost AM62x Sitara™ MPU family of application processors are built for Linux® application development. +With scalable Arm® Cortex®-A53 performance and embedded features, such as: dual-display support and 3D +graphics acceleration, along with an extensive set of peripherals that make the AM62x device well-suited +for a broad range of industrial and automotive applications while offering intelligent features and optimized +power architecture as well. + +Some of these applications include: + +- Industrial HMI +- EV charging stations +- Touchless building access +- Driver monitoring systems + +AM62x Sitara™ processors are industrial-grade in the 13 x 13 mm package (ALW) and can meet the AEC-Q100 +automotive standard in the 17.2 x 17.2 mm package (AMC). Industrial and Automotive functional safety +requirements can be addressed using the integrated Cortex-M4F cores and dedicated peripherals, which +can all be isolated from the rest of the AM62x processor. + +.. tip:: + For more details checkout https://www.ti.com/product/AM625 + +The 3-port Gigabit Ethernet switch has one internal port and two external ports with Time-Sensitive +Networking (TSN) support. An additional PRU module on the device enables real-time I/O capability +for customer’s own use cases. In addition, the extensive set of peripherals included in AM62x +enables system-level connectivity, such as: USB, MMC/SD, Camera interface, OSPI, CAN-FD and GPMC +for parallel host interface to an external ASIC/FPGA. The AM62x device also supports secure boot +for IP protection with the built-in Hardware Security Module (HSM) and employs advanced power management +support for portable and power-sensitive applications + + +Board components location +========================== + +This section describes the key components on the board, their location and function. + +Front components location +------------------------- + +.. figure:: images/components-front.jpg + :width: 1400 + :align: center + :alt: BeaglePlay board front components location + + BeaglePlay board front components location + + +.. table:: BeaglePlay board front components location + :align: center + + +----------------------------+---------------------------------------------------------------------------+ + | Feature | Description | + +============================+===========================================================================+ + | RTC Battery | BQ32002 Real Time Clock (RTC) Battery holder takes CR1220 3V battery | + +----------------------------+---------------------------------------------------------------------------+ + | User LEDs | Five user LEDs, :ref:`board-power-and-boot` section provides more details.| + | | These LEDs are connect to the AM6254 SoC. | + +----------------------------+---------------------------------------------------------------------------+ + | JTAG (AM62) | AM6254 SoC JTAG debug port. | + +----------------------------+---------------------------------------------------------------------------+ + | mikroBUS | MikroElectronica mikroBUS connected to CC1352P7 for MikroE Click boards. | + +----------------------------+---------------------------------------------------------------------------+ + | OLDI | AM6254 OpenLDI(OLDI) display port. | + +----------------------------+---------------------------------------------------------------------------+ + | CSI2 | AM6254 Camera Serial Interface (CSI2). | + +----------------------------+---------------------------------------------------------------------------+ + | Grove | SeeedStudio grove modules connection port. | + +----------------------------+---------------------------------------------------------------------------+ + | QWIIC | SparkFun QWIIC / Adafruit STEMMA-QT port for I2C modules connectivity. | + +----------------------------+---------------------------------------------------------------------------+ + | User Button | Programmable user button, also servers as boot mode slect button | + | | (SDCard/eMMC). Press down to select SD Card as boot medium. | + +----------------------------+---------------------------------------------------------------------------+ + | SDCard | Use to expand storage, boot linux image or flash latest image on eMMC. | + +----------------------------+---------------------------------------------------------------------------+ + | Reser button | Press to reset BeaglePlay board (AM6254 SoC). | + +----------------------------+---------------------------------------------------------------------------+ + | JTAG (CC1352) | JTAG debug port for CC1352P7. | + +----------------------------+---------------------------------------------------------------------------+ + | Power button | Press to shut-down (OFF), hold down to boot (ON). | + +----------------------------+---------------------------------------------------------------------------+ + | Power & Connectivity LEDs | Indicator LEDs for Power ON, CC1352 RF, and Single-pair connectivity. | + +----------------------------+---------------------------------------------------------------------------+ + | Single-pair Ethernet | Single-pair Ethernet connectivity port with power over data line. | + +----------------------------+---------------------------------------------------------------------------+ + | GigaBit Ethernet | 1Gb/s Wired internet connectivity. | + +----------------------------+---------------------------------------------------------------------------+ + | HDMI Output | Full size HDMI port for connecting to external display monitors. | + +----------------------------+---------------------------------------------------------------------------+ + | USB-A host port | Port to connect USB devices like cameras, keyboard & mouse combos, etc. | + +----------------------------+---------------------------------------------------------------------------+ + | USB-C port | Power and tethered connection port. | + +----------------------------+---------------------------------------------------------------------------+ + +Back components location +------------------------- + +.. figure:: images/components-back.jpg + :width: 1400 + :align: center + :alt: BeaglePlay board back components location + + BeaglePlay board back components location + -1. Building/industrial automation gateways -2. Digital signage -3. Human Machine Interface (HMI) -4. BeagleConnect sensor gateways +.. table:: BeaglePlay board back components location + :align: center + + +----------------------------+---------------------------------------------------------------------------+ + | Feature | Description | + +============================+===========================================================================+ + | CC1352P7 | 2.4GHz BLE + SubG IEEE802.15.4 with 1 x 2.4GHz + 1 x SubG uFL antenna. | + +----------------------------+---------------------------------------------------------------------------+ + | WL1807MOD | Dual band (2.4GHz & 5GHz) WiFi module with 2 x uFL antennas. | + +----------------------------+---------------------------------------------------------------------------+ + | DP83TD510E | Single-pair ethernet PHY. | + +----------------------------+---------------------------------------------------------------------------+ + | RTL8211F | Ethernet PHY. | + +----------------------------+---------------------------------------------------------------------------+ + | AM6254 | Main SoC. | + +----------------------------+---------------------------------------------------------------------------+ + | 16GB eMMC | Flash storage. | + +----------------------------+---------------------------------------------------------------------------+ + | 2GB DDR$ | RAM / Memory. | + +----------------------------+---------------------------------------------------------------------------+ + | BQ32002 | Real Time Clock (RTC). | + +----------------------------+---------------------------------------------------------------------------+ + | TPS6521901 | Power management IC. | + +----------------------------+---------------------------------------------------------------------------+ + | IT66121 | HDMI PHY. | + +----------------------------+---------------------------------------------------------------------------+ diff --git a/boards/beagleplay/04-detailed-overview.rst b/boards/beagleplay/04-detailed-overview.rst deleted file mode 100644 index b64afc34..00000000 --- a/boards/beagleplay/04-detailed-overview.rst +++ /dev/null @@ -1,186 +0,0 @@ -.. _beagleplay-detailed-overview: - -Detailed overview -################## - -BeaglePlay is built around Texas Instruments AM62x Sitara™ Processors which is a -Human-machine-interaction SoC with Arm® Cortex®-A53. It comes with 2GB DDR4 RAM, 16GB eMMC storage, -Full size HDMI, USB-A host port, USB-C power & connectivity port, serial debug interface, and much more. - -.. table:: BeaglePlay features - - +----------------------------+---------------------------------------------------------------------------+ - | Feature | Description | - +============================+===========================================================================+ - | Processor | TI AM6254 (multicore A53s with R5, M4s and PRUs) | - +----------------------------+---------------------------------------------------------------------------+ - | PMIC | TPS6521901 | - +----------------------------+---------------------------------------------------------------------------+ - | Memory | 2GB DDR4 | - +----------------------------+---------------------------------------------------------------------------+ - | Storage | 16GB eMMC | - +----------------------------+---------------------------------------------------------------------------+ - | WiFi | - PHY: WL1807MOD (roadmap to next-gen TI WiFi) | - | | - Antennas: 2.4GHz & 5GHz | - +----------------------------+---------------------------------------------------------------------------+ - | BLE/SubG | - CC1352P7 M4+M0 with BeagleConnect firmware | - | | - BeagleConnect Wireless enabled | - | | - Antennas: 2.4GHz & SubG IEEE802.15.4 software defined radio (SDR) | - +----------------------------+---------------------------------------------------------------------------+ - | Ethernet | - PHY: Realtek RTL8211F-VD-CG gigabit Ethernet phy | - | | - Connector: integrated magnetics RJ-45 | - +----------------------------+---------------------------------------------------------------------------+ - | Single-pair Ethernet | - BeagleConnect Wired enabled | - | | - PHY: DP83TD510E 10Mbit single-pair Ethernet phy | - | | - Connector: RJ-11 jack | - | | - Power (PoDL): Input: N/A (protection to 12V), Output: 5V @ 250mA | - | | - Isolation: ??? | - +----------------------------+---------------------------------------------------------------------------+ - | USB type-C | - PD/CC: None, HS shorted to both sides | - | | - Power: Input: 5V @ 3A, Output: N/A | - +----------------------------+---------------------------------------------------------------------------+ - | HDMI | - PHY: IT66121 | - | | - Connector: full-size | - +----------------------------+---------------------------------------------------------------------------+ - | Other connectors | - microSD | - | | - USB type-A (480Mbit) | - | | - mikroBUS connector (I2C/UART/SPI/MCAN/MCASP/PWM/GPIO) | - | | - Grove connector (I2C/UART/ADC/PWM/GPIO) | - | | - QWIIC connector (I2C) | - | | - CSI connector like BBAI-64/R-Pi | - | | - OLDI connector (40-pin) | - +----------------------------+---------------------------------------------------------------------------+ - -AM6254 SoC -*********** - -The low-cost AM62x Sitara™ MPU family of application processors are built for Linux® application development. -With scalable Arm® Cortex®-A53 performance and embedded features, such as: dual-display support and 3D -graphics acceleration, along with an extensive set of peripherals that make the AM62x device well-suited -for a broad range of industrial and automotive applications while offering intelligent features and optimized -power architecture as well. - -Some of these applications include: - -- Industrial HMI -- EV charging stations -- Touchless building access -- Driver monitoring systems - -AM62x Sitara™ processors are industrial-grade in the 13 x 13 mm package (ALW) and can meet the AEC-Q100 -automotive standard in the 17.2 x 17.2 mm package (AMC). Industrial and Automotive functional safety -requirements can be addressed using the integrated Cortex-M4F cores and dedicated peripherals, which -can all be isolated from the rest of the AM62x processor. - -.. tip:: - For more details checkout https://www.ti.com/product/AM625 - -The 3-port Gigabit Ethernet switch has one internal port and two external ports with Time-Sensitive -Networking (TSN) support. An additional PRU module on the device enables real-time I/O capability -for customer’s own use cases. In addition, the extensive set of peripherals included in AM62x -enables system-level connectivity, such as: USB, MMC/SD, Camera interface, OSPI, CAN-FD and GPMC -for parallel host interface to an external ASIC/FPGA. The AM62x device also supports secure boot -for IP protection with the built-in Hardware Security Module (HSM) and employs advanced power management -support for portable and power-sensitive applications - - -Board components location -************************** - -This section describes the key components on the board, their location and function. - -Front components location -========================== - -.. figure:: images/components-front.jpg - :width: 1400 - :align: center - :alt: BeaglePlay board front components location - - BeaglePlay board front components location - - -.. table:: BeaglePlay board front components location - :align: center - - +----------------------------+---------------------------------------------------------------------------+ - | Feature | Description | - +============================+===========================================================================+ - | RTC Battery | BQ32002 Real Time Clock (RTC) Battery holder takes CR1220 3V battery | - +----------------------------+---------------------------------------------------------------------------+ - | User LEDs | Five user LEDs, :ref:`board-power-and-boot` section provides more details.| - | | These LEDs are connect to the AM6254 SoC. | - +----------------------------+---------------------------------------------------------------------------+ - | JTAG (AM62) | AM6254 SoC JTAG debug port. | - +----------------------------+---------------------------------------------------------------------------+ - | mikroBUS | MikroElectronica mikroBUS connected to CC1352P7 for MikroE Click boards. | - +----------------------------+---------------------------------------------------------------------------+ - | OLDI | AM6254 OpenLDI(OLDI) display port. | - +----------------------------+---------------------------------------------------------------------------+ - | CSI2 | AM6254 Camera Serial Interface (CSI2). | - +----------------------------+---------------------------------------------------------------------------+ - | Grove | SeeedStudio grove modules connection port. | - +----------------------------+---------------------------------------------------------------------------+ - | QWIIC | SparkFun QWIIC / Adafruit STEMMA-QT port for I2C modules connectivity. | - +----------------------------+---------------------------------------------------------------------------+ - | User Button | Programmable user button, also servers as boot mode slect button | - | | (SDCard/eMMC). Press down to select SD Card as boot medium. | - +----------------------------+---------------------------------------------------------------------------+ - | SDCard | Use to expand storage, boot linux image or flash latest image on eMMC. | - +----------------------------+---------------------------------------------------------------------------+ - | Reser button | Press to reset BeaglePlay board (AM6254 SoC). | - +----------------------------+---------------------------------------------------------------------------+ - | JTAG (CC1352) | JTAG debug port for CC1352P7. | - +----------------------------+---------------------------------------------------------------------------+ - | Power button | Press to shut-down (OFF), hold down to boot (ON). | - +----------------------------+---------------------------------------------------------------------------+ - | Power & Connectivity LEDs | Indicator LEDs for Power ON, CC1352 RF, and Single-pair connectivity. | - +----------------------------+---------------------------------------------------------------------------+ - | Single-pair Ethernet | Single-pair Ethernet connectivity port with power over data line. | - +----------------------------+---------------------------------------------------------------------------+ - | GigaBit Ethernet | 1Gb/s Wired internet connectivity. | - +----------------------------+---------------------------------------------------------------------------+ - | HDMI Output | Full size HDMI port for connecting to external display monitors. | - +----------------------------+---------------------------------------------------------------------------+ - | USB-A host port | Port to connect USB devices like cameras, keyboard & mouse combos, etc. | - +----------------------------+---------------------------------------------------------------------------+ - | USB-C port | Power and tethered connection port. | - +----------------------------+---------------------------------------------------------------------------+ - -Back components location -========================== - -.. figure:: images/components-back.jpg - :width: 1400 - :align: center - :alt: BeaglePlay board back components location - - BeaglePlay board back components location - - -.. table:: BeaglePlay board back components location - :align: center - - +----------------------------+---------------------------------------------------------------------------+ - | Feature | Description | - +============================+===========================================================================+ - | CC1352P7 | 2.4GHz BLE + SubG IEEE802.15.4 with 1 x 2.4GHz + 1 x SubG uFL antenna. | - +----------------------------+---------------------------------------------------------------------------+ - | WL1807MOD | Dual band (2.4GHz & 5GHz) WiFi module with 2 x uFL antennas. | - +----------------------------+---------------------------------------------------------------------------+ - | DP83TD510E | Single-pair ethernet PHY. | - +----------------------------+---------------------------------------------------------------------------+ - | RTL8211F | Ethernet PHY. | - +----------------------------+---------------------------------------------------------------------------+ - | AM6254 | Main SoC. | - +----------------------------+---------------------------------------------------------------------------+ - | 16GB eMMC | Flash storage. | - +----------------------------+---------------------------------------------------------------------------+ - | 2GB DDR$ | RAM / Memory. | - +----------------------------+---------------------------------------------------------------------------+ - | BQ32002 | Real Time Clock (RTC). | - +----------------------------+---------------------------------------------------------------------------+ - | TPS6521901 | Power management IC. | - +----------------------------+---------------------------------------------------------------------------+ - | IT66121 | HDMI PHY. | - +----------------------------+---------------------------------------------------------------------------+ \ No newline at end of file diff --git a/boards/beagleplay/images/chapter-thumbnails/04-detailed-overview.jpg b/boards/beagleplay/images/chapter-thumbnails/04-detailed-overview.jpg deleted file mode 100644 index a55b541eda8d9ffd3090d9a2b701aadbfd09fc68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16847 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 -- GitLab