diff --git a/conf.py b/conf.py index e94e737..6c79c9e 100644 --- a/conf.py +++ b/conf.py @@ -4,7 +4,7 @@ author = 'Synaptics' # version of the software being documented -release = 'scarthgap_6.12_v2.0.0' +release = 'scarthgap_6.12_v2.1.0' extensions = [ 'synaptics_sphinx_theme' ] diff --git a/hw/index.rst b/hw/index.rst index f3ab810..860ac10 100644 --- a/hw/index.rst +++ b/hw/index.rst @@ -7,9 +7,11 @@ Astra Machina Eval Platform sl1680.rst sl1640.rst sl1620.rst + sl2600.rst In this section you can find the hardware user guides for the Astra Machina boards: - :doc:`sl1680` - :doc:`sl1640` -- :doc:`sl1620` \ No newline at end of file +- :doc:`sl1620` +- :doc:`sl2600` \ No newline at end of file diff --git a/hw/media/sl2600/image10.png b/hw/media/sl2600/image10.png new file mode 100644 index 0000000..5ee0156 Binary files /dev/null and b/hw/media/sl2600/image10.png differ diff --git a/hw/media/sl2600/image11.png b/hw/media/sl2600/image11.png new file mode 100644 index 0000000..ded3b1e Binary files /dev/null and b/hw/media/sl2600/image11.png differ diff --git a/hw/media/sl2600/image12.png b/hw/media/sl2600/image12.png new file mode 100644 index 0000000..08751bd Binary files /dev/null and b/hw/media/sl2600/image12.png differ diff --git a/hw/media/sl2600/image13.png b/hw/media/sl2600/image13.png new file mode 100644 index 0000000..32ce570 Binary files /dev/null and b/hw/media/sl2600/image13.png differ diff --git a/hw/media/sl2600/image14.png b/hw/media/sl2600/image14.png new file mode 100644 index 0000000..83bc099 Binary files /dev/null and b/hw/media/sl2600/image14.png differ diff --git a/hw/media/sl2600/image15.png b/hw/media/sl2600/image15.png new file mode 100644 index 0000000..2b6df92 Binary files /dev/null and b/hw/media/sl2600/image15.png differ diff --git a/hw/media/sl2600/image16.png b/hw/media/sl2600/image16.png new file mode 100644 index 0000000..2df6685 Binary files /dev/null and b/hw/media/sl2600/image16.png differ diff --git a/hw/media/sl2600/image17.png b/hw/media/sl2600/image17.png new file mode 100644 index 0000000..aae4389 Binary files /dev/null and b/hw/media/sl2600/image17.png differ diff --git a/hw/media/sl2600/image18.png b/hw/media/sl2600/image18.png new file mode 100644 index 0000000..a060437 Binary files /dev/null and b/hw/media/sl2600/image18.png differ diff --git a/hw/media/sl2600/image19.png b/hw/media/sl2600/image19.png new file mode 100644 index 0000000..99ea6fa Binary files /dev/null and b/hw/media/sl2600/image19.png differ diff --git a/hw/media/sl2600/image2.png b/hw/media/sl2600/image2.png new file mode 100644 index 0000000..fb13be7 Binary files /dev/null and b/hw/media/sl2600/image2.png differ diff --git a/hw/media/sl2600/image20.png b/hw/media/sl2600/image20.png new file mode 100644 index 0000000..f3b3b6c Binary files /dev/null and b/hw/media/sl2600/image20.png differ diff --git a/hw/media/sl2600/image3.png b/hw/media/sl2600/image3.png new file mode 100644 index 0000000..b806394 Binary files /dev/null and b/hw/media/sl2600/image3.png differ diff --git a/hw/media/sl2600/image4.png b/hw/media/sl2600/image4.png new file mode 100644 index 0000000..51316dd Binary files /dev/null and b/hw/media/sl2600/image4.png differ diff --git a/hw/media/sl2600/image5.png b/hw/media/sl2600/image5.png new file mode 100644 index 0000000..8409688 Binary files /dev/null and b/hw/media/sl2600/image5.png differ diff --git a/hw/media/sl2600/image6.png b/hw/media/sl2600/image6.png new file mode 100644 index 0000000..d29eaa9 Binary files /dev/null and b/hw/media/sl2600/image6.png differ diff --git a/hw/media/sl2600/image7.png b/hw/media/sl2600/image7.png new file mode 100644 index 0000000..ac80ee8 Binary files /dev/null and b/hw/media/sl2600/image7.png differ diff --git a/hw/media/sl2600/image8.png b/hw/media/sl2600/image8.png new file mode 100644 index 0000000..8905b68 Binary files /dev/null and b/hw/media/sl2600/image8.png differ diff --git a/hw/media/sl2600/image9.png b/hw/media/sl2600/image9.png new file mode 100644 index 0000000..437cbdd Binary files /dev/null and b/hw/media/sl2600/image9.png differ diff --git a/hw/sl2600.rst b/hw/sl2600.rst new file mode 100644 index 0000000..dad968e --- /dev/null +++ b/hw/sl2600.rst @@ -0,0 +1,1546 @@ +================= +SL2600 User Guide +================= + +Introduction +============ + +The Synaptics Astra™ Machina SL2600 Series Developer Kit enables easy +and rapid prototyping of multimodal AI-native IoT applications. A +flexible design approach supports a core compute module, an I/O base +board, daughter cards for integrated Wi-Fi / Bluetooth connectivity, +debug, and programmable I/O. The evaluation system supports the +Synaptics SL2619 SoC family that delivers unprecedented levels of price +performance for the IoT, and enabled via an open, unified software +experience built on Yocto Linux. The Machina SL2600 Series is powered by +the open-source Synaptics Torq™ Edge AI platform, leveraging the Torq T1 +and the Coral NPU subsystems. + +Scope +----- + +This user guide describes the hardware configuration and functional +details for the Astra Machina SL2610 core module, I/O board, and +supported daughter cards, in addition to the bring-up sequence for the +developer kit. + +Definition of Board Components +------------------------------ + +- **Astra Machina**: Combined system with core module, I/O board, and + supported daughter cards. + +- **Core module**: Processor subsystem module with key components + including SL2610, eMMC, and DDR4. + +- **I/O board**: Common base board that includes various standard + hardware interfaces, buttons, headers, and power-in. + +- **Daughter card**: Add-on boards for supporting various features such + as connectivity, debug, and other flexible I/O options. + +Astra Machina System Overview +----------------------------- + +This section covers system features, block diagrams and top views of the +Astra Machina developer kit. + +.. figure:: media/sl2600/image4.png + :width: 4.54044in + :height: 2.65344in + + SL2610 Core Module (Dimensions: W x H = 69.6 mm x 47.38 mm) + +.. figure:: media/sl2600/image5.png + :width: 5.57595in + :height: 4.36646in + + I/O Board + +Features +~~~~~~~~ + +The SL2610-based developer kit includes the following components: + +- Main components on the core module: + +- Synaptics SL2610 Dual-Core Arm\ :sup:`®` Cortex\ :sup:`®`-A55 + embedded IoT processor, up to 2.0 GHz + +- Storage: eMMC 5.1 (32 GB \[1\]_) + +- DRAM: up to x16 4GB system memory by 2pcs x8 16Gbit DDR4 + +- PMIC: support DVFS in Vcore supply rail + +- MIPI DSI to HDMI 1.4 output + +- SD Card Receptacle + +- Line-out: direct Line Level 2.1-VRMS stereo output + +- DMIC: 2 digital microphones – 1 PDM stereo audio input + +- Main components on the I/O board: + +- M.2 E-key 2230 Receptacle: It supports SDIO, UART for Wi-Fi/BT + modules + +- USB 2.0 Type-A: 4 ports to support host mode at Hi-Speed. + +- USB 2.0 Type-C: supports OTG host or peripheral mode at Hi-Speed. + +- Push buttons: used for USB-BOOT selection and system RESET. + +- 2pin Header: used for SD-BOOT selection. + +- Daughter card interface options: + +- MIPI DSI on 22-pin FPC interface to support 4-lane DSI plus I2C and + GPIOs for up to 1080p60 display panel. + +- MIPI CSI on 22-pin at CSI0 for 2-lane plus I2C and GPIOs, for up to + 2160p30 resolution. + +- JTAG daughter card for debug. + +- 40-pin header for additional functions + +- 4-pin PoE+ connector, with a PoE hat board (purchased separately), it + offers an add-on voltage regulator module for PoE+ Type2 (802.3at) + power device. Available power shall be 25.5W (Class 4) at 5V pins of + 40-pin header to I/O board. + +- Type-C power supply with 15V @ 1.8A. + +SL2610 System Block Diagram +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image6.png + :width: 6.5in + :height: 4.96875in + + SL2610 System Block Diagram + +Top view of SL2610 Astra Machina developer kit +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image7.png + :width: 6.49583in + :height: 4.61597in + + Top view of SL2610 Developer Kit + +System connectors +~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image8.png + :width: 6.37306in + :height: 3.44186in + + Front View + +.. figure:: media/sl2600/image9.png + :width: 6.41445in + :height: 3.9434in + + Rear View + +Astra Machina Board Control/Status & System I/O +=============================================== + +This section covers boot-up, LEDs status indicators, buttons, +connectors, and pin-strap settings. + +Booting Up +---------- + +The Astra Machina supports booting from three interfaces. Users can +select a boot interface before powering up, as follows: + +- **eMMC boot:** Default boot interface. + +- **SD boot:** Short SD_Boot header by 2.54mm jumper-cap before + power-up, see SD_Boot header in :ref:`sl2600_jumper_location`. Ensure SD-Card with + firmware is plugged into SD-slot on core module in :ref:`core_module_connectors`. + +- **USB boot:** Connect USB-C USB2.0 port to the host PC, then follow + the procedure in :ref:`hardware_manual_button_settings`. + +LEDs +---- + +LED locations +~~~~~~~~~~~~~ + +:ref:`sl2600_led_location` shows the LED locations on the I/O board. + +.. _sl2600_led_location: + +.. figure:: media/sl2600/image10.png + :width: 6.31646in + :height: 5.02752in + + LED locations on I/O board + +LED definitions +~~~~~~~~~~~~~~~ + +.. table:: LED definitions on I/O board + + +---------+--------------+--------------------------------------------+ + | LED | Color | LEDs Function | + +=========+==============+============================================+ + | D10 | Green | LED indicator for USB3.0 Hub is working in | + | | | normal mode or suspend mode. | + +---------+--------------+--------------------------------------------+ + | D17 | Green | LED indicator1 for M.2 device general | + | | | purpose. | + +---------+--------------+--------------------------------------------+ + | D18 | Green | LED indicator2 for M.2 device general | + | | | purpose. | + +---------+--------------+--------------------------------------------+ + | D37 | Green | LED indicator for Power-on status. | + +---------+--------------+--------------------------------------------+ + | D40 | RED | LED indicator for Stand-By Status. | + +---------+--------------+--------------------------------------------+ + +SM PinStrap and Boot-up Settings +-------------------------------- + +.. table:: SM pinstrap and boot-up settings on core module + + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | Pin# | Pin Mux Name | Setting | Resistor | Description | + | | | Value | Stuffing | | + | | | Default\* | | | + | | | | + stuffed | Rpu = OnChip Pull-up | + | | | | | | + | | | | - removed | Rpd = OnChip Pull-down | + | | | | | | + +======+================+==============+==================+============================================================+ + | N30 | PLLBYPS | — | — | Straps for CPU reset bypass | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | | | 0* | -R190 | 0: Enable reset logic inside CPU partition | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | | | 1 | +R190 | 1: Bypass reset logic inside CPU partition | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | B24 | dft_jtag_sel | — | — | Straps for JTAG_SEL | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | | | 0* | -R31 | 0: ATE/RMA mode — Functional JTAG is selected | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + | | | 1 | +R31 | 1: ATE/RMA mode — DFT JTAG is selected | + +------+----------------+--------------+------------------+------------------------------------------------------------+ + + +SoC PinStrap and Boot-up Settings +--------------------------------- + +.. table:: SoC pinstrap and boot-up settings on core module + + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | Pin# | Pin Mux Name | Setting | Resistor | Description | + | | | Value | Stuffing | | + | | | Default\* | | | + | | | | + stuffed | Rpu = OnChip Pull-up | + | | | | | | + | | | | - removed | Rpd = OnChip Pull-down | + | | | | | | + +======+=====================+===========+===============+============================================================+ + | C5 | CPURSTBYPS | — | — | Straps for CPU reset bypass | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 0* | — | 0: Enable reset logic inside CPU partition | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 1 | — | 1: Bypass reset logic inside CPU partition | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | B13 | SOFTWARE_STRAP[0] | — | — | Straps for software usage (Rpu) | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 0 | +R34 | Version control for Core-Module Rev B | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 1* | -R34 | Version control for Core-Module Rev A | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | AF27 | SOFTWARE_STRAP[1] | — | — | Straps for software usage (Rpd) | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 0* | -R35 | Default setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 1 | +R35 | Alternate setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | C8 | SOFTWARE_STRAP[2] | — | — | Straps for software usage (Rpd) | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 0* | -R36 | Default setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 1 | +R36 | Alternate setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | B9 | SOFTWARE_STRAP[3] | — | — | Straps for software usage (Rpd) | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 0* | -R37 | Default setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + | | | 1 | +R37 | Alternate setting | + +------+---------------------+-----------+---------------+------------------------------------------------------------+ + +.. table:: Boot-up settings on I/O board + + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | Net Name | Strap Name | Setting | Resistor | Description | + | | | Value | Stuffing | | + | | | Default* | | | + | | | | + stuffed | Rpu = On-Chip Pull-up | + | | | | | | + | | | | - removed | Rpd = On-Chip Pull-down | + | | | | | | + +===================+================+===========+===============+============================================================+ + | USB_BOOTn | USB-Boot | — | — | ROM code uses this strap to determine if booting from USB | + | | | | | or not (Rpu). | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | | | 0 | — | 0: Boot from USB when the USB-BOOT button is pressed while | + | | | | | system reset is de-asserted. | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | | | 1* | — | 1: Boot from the device selected by boot_src[1]. | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | CONN-SPI.VDIO1P8. | SD-Boot | — | — | ROM code uses this strap to determine if booting from | + | BOOT_SRC1 | | | | SD Card or not (Rpu). | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | | | 0 | — | 0: Boot from SD Card when SD_Boot header is ON while | + | | | | | system reset is de-asserted. | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + | | | 1* | — | 1: Boot from the device selected by boot_src[1] when | + | | | | | SD_Boot header is OFF. | + +-------------------+----------------+-----------+---------------+------------------------------------------------------------+ + +.. _hardware_manual_button_settings: + +Hardware Manual Button Settings +------------------------------- + +.. table:: Hardware manual button settings definitions on I/O board + + +--------------+---------------+----------+---------------------------+ + | Switch Block | Type | Setting | Function | + +==============+===============+==========+===========================+ + | SW6 (RESET) | Momentary | Push | SL2610 Reset Key asserted | + | | Pushbutton | | | + +--------------+---------------+----------+---------------------------+ + | | | Release | Key de-asserted | + +--------------+---------------+----------+---------------------------+ + | SW7 | Momentary | Push | USB boot Key asserted. | + | (USB_BOOT) | Pushbutton | | USB-Boot mode requires a | + | | | | combination of the | + | | | | USB_BOOT key and the | + | | | | RESET button. Refer to | + | | | | the steps below for the | + | | | | detailed entry procedure. | + +--------------+---------------+----------+---------------------------+ + | | | Release | Key de-asserted | + +--------------+---------------+----------+---------------------------+ + +To enter USB-Boot mode, follow these steps: + +.. note:: + + Prior to these steps, make sure the USB driver is installed successfully on the PC host side. For details, please + reference :doc:`/linux/index`. + +1. Push RESET button to assert system reset to SL2610. + +2. Keep pushing RESET button and push USB_BOOT button at the same time + for 1-2 seconds. + +3. Release RESET button while holding USB_BOOT button, so SL2610 enters + USB-Boot mode. + +4. Check and wait for the console print… messages. + + Once the console print is returned and entered USB boot successfully, + release USB_BOOT button. + +.. figure:: media/sl2600/image11.png + :width: 4.98101in + :height: 4.38446in + + Locations of manual buttons on I/O board + +Hardware Jumper Settings +------------------------ + +.. table:: Hardware jumper settings definitions on I/O board + + +-----+-----------+--------+-------------------------------------------+ + | Ref | Type | Pin | Description | + | Des | | | | + | | | Conn | | + | | | ection | | + +=====+===========+========+===========================================+ + | JP1 | 2x1 | 1-2 | SD_Boot selection | + | | 2.54mm | | | + | | header | | | + +-----+-----------+--------+-------------------------------------------+ + | | | | - Open: Boot from the device select by | + | | | | boot_src[1] | + +-----+-----------+--------+-------------------------------------------+ + | | | | - Short: Boot from SD_Card while | + | | | | power-up or system reset de-assertion | + +-----+-----------+--------+-------------------------------------------+ + | JP2 | 2x1 2mm | 1-2 | 5V_SEL selection | + | | header | | | + +-----+-----------+--------+-------------------------------------------+ + | | | | - Open: 15V from USB-C adapter Power-In | + +-----+-----------+--------+-------------------------------------------+ + | | | | - Short: 5V from USB-C adapter Power-In | + +-----+-----------+--------+-------------------------------------------+ + +To enter SD-Boot mode, follow these steps: + +.. note:: + + Prior to these steps, make sure SD-Card with firmware is plugged into + SD-slot on the core module. + +1. Short SD_Boot header by 2.54mm jumper-cap before power-up. + +2. Power-up system, then boot-up from SD_Card. + + :ref:`sl2600_jumper_location` shows the Header locations on the I/O board. + +.. _sl2600_jumper_location: + +.. figure:: media/sl2600/image12.png + :width: 5.7013in + :height: 4.60358in + + Locations of jumper on I/O board + +SL2610 Developer Kit Connectors +------------------------------- + +Locations of core module connectors on top side +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image13.png + :width: 6.5in + :height: 4.46111in + + Locations on core module top side + +Locations of core module connectors on bottom side +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _core_module_connectors: + +.. figure:: media/sl2600/image14.png + :alt: A circuit board with symbols AI-generated content may be incorrect. + :width: 6.5in + :height: 4.44931in + + Locations on core module bottom side + +Core module connector definitions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. table:: Core module connector definitions + + +-----+------------+----------+--------------------------------------+ + | M | Connecting | F | Remarks | + | ain | Boar | unctions | | + | | ds/Devices | | | + | Ref | (Ref Des | | | + | Des | if any) | | | + +=====+============+==========+======================================+ + | J1 | Stereo | Analog | Audio L/R output to 3.5mm Jack. | + | | Line out | audio | | + | | | L/R | | + +-----+------------+----------+--------------------------------------+ + | J2 | RGMII1 | RGMII1 | Connector for RGMII1 signals through | + | | | | 30-pin FPC cable. | + +-----+------------+----------+--------------------------------------+ + | J3 | MicroSD | SDIO | For microSD type of memory card | + | | Card | card | extension. | + +-----+------------+----------+--------------------------------------+ + +Locations of I/O board connectors on top side +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image15.png + :width: 6.5in + :height: 5.15694in + + Locations on I/O board top side + +Locations of I/O board connectors on bottom side +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: media/sl2600/image16.png + :width: 6.5in + :height: 5.21458in + + Locations on I/O board bottom side + +I/O board connector definitions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. table:: I/O board connector definitions + + +-----+-------------+---------------+--------------------------------+ + | M | Connecting | Functions | Remarks | + | ain | Boa | | | + | | rds/Devices | | | + | Ref | (Ref Des if | | | + | Des | any) | | | + +=====+=============+===============+================================+ + | J1 | ISP D/C | SPI | 12-pin daughter card to | + | | | | support offline program SPI | + | | | | NOR flash on core module | + +-----+-------------+---------------+--------------------------------+ + | J2 | RJ45 cable | Giga Ethernet | For Wired Ethernet connection | + +-----+-------------+---------------+--------------------------------+ + | J12 | HDMI Sink | HDMI TX | For off-board HDMI Sink device | + | | | | connection | + +-----+-------------+---------------+--------------------------------+ + | J13 | FAN | Heat | Not Applicable for SL2610 | + | | | Dissipation | | + | | | w/ FAN | | + +-----+-------------+---------------+--------------------------------+ + | J17 | M.2 2230 | SDIO and PCIe | 1x1/2x2 WiFi/Bluetooth card | + | | D/C | | via SDIO | + | | | | | + | | | | PCIe is not applicable for | + | | | | SL2610. | + +-----+-------------+---------------+--------------------------------+ + | J22 | Debug Board | JTAG | XDB debugger for debugging | + +-----+-------------+---------------+--------------------------------+ + | J32 | 40-pins | UART, I2C, | Flexible for support various | + | | Header | SPI, PDM, | D/C | + | | | I2SI, GPIOs, | | + | | | STS1, PWM, | | + | | | ADC | | + +-----+-------------+---------------+--------------------------------+ + | J34 | PoE+ D/C | PoE+ | 4-pin PoE+ daughter card with | + | | | | supporting an add-on 5V | + | | | | voltage to 40pin Header. | + +-----+-------------+---------------+--------------------------------+ + | J | MIPI-CSI0 | MIPI-CSI | For MIPI-CSI x2 lane | + | 206 | adaptor | | extension, like camera | + +-----+-------------+---------------+--------------------------------+ + | J | MIPI-CSI1 | MIPI-CSI | Not Applicable for SL2610 | + | 207 | adaptor | | | + +-----+-------------+---------------+--------------------------------+ + | J | MIPI-DSI | MIPI-DSI | For MIPI-DSI x4 lane | + | 208 | adaptor | | extension, like panel | + +-----+-------------+---------------+--------------------------------+ + | J | USB Device | USB2.0 x2 | For USB2.0 extension in Device | + | 210 | | | mode only | + +-----+-------------+---------------+--------------------------------+ + | J | Type C | Power Supply | Power for Astra Machina rated | + | 213 | power | | at 15V/1.8A | + | | source | | | + +-----+-------------+---------------+--------------------------------+ + | J | Dual-Role | USB2.0 OTG | For USB2.0 extension, in | + | 215 | USB | | either Host or Device mode | + +-----+-------------+---------------+--------------------------------+ + | J | USB Device | USB2.0 x2 | For USB2.0 extension in Device | + | 216 | | | mode only | + +-----+-------------+---------------+--------------------------------+ + +Daughter Cards +============== + +A set of daughter cards supplements the Astra Machina system with a +range of extensible and configurable functionalities including Wi-Fi and +Bluetooth connectivity, debug options and general purpose I/O. Details +of currently supported daughter cards are described in this section. + +Debug Board +------------ + +Debug Board (Rev5) allows users to communicate with the SL2610 system +over JTAG through a Debugger on a PC host. While connecting the Astra +Machina and debug board with a 20-pin flat cable, align pin-1 of the +2x10 cable socket at the debug board side with pin-1 of 2x6 header J22 +on the developer kit. + +| Users may communicate with SL2610 over UART on a PC host by using a + UART to USB cable commonly available. See the Astra Machina webpage + for a list of qualified parts. As an option, the debug board also + provides such bridging function based on the Silicon Labs CP2102. A + virtual COM port driver is required, and can be downloaded from the + following link and installed on the host PC: +| https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers + +UART on the developer kit and the PC host USB are digitally isolated, +with no direct conductive path, eliminating ground loop and back-drive +issues when either is powered down. + +:ref:`sl2600_uart` shows debug board connectivity facilitating UART and JTAG +communications. + +.. _sl2600_uart: + +.. figure:: media/sl2600/image17.png + :width: 6.49583in + :height: 2.32153in + + Debug board connectivity for UART and JTAG + +M.2 Card +-------- + +An M.2 E-Key socket J17 is provided for a variety of modules in the M.2 +form factor. Typical applicable modules support Wi-Fi/BT devices with +SDIO + +Available modules: + +- Ampak AP12611_M2 with SYN43711 WiFi6E/BT5.3 1x1 over SDIO on M.2 + adaptor + +260-Pins SODIMM Definition +-------------------------- + +A 260-Pins SODIMM connector (PN: TE_2309413-1) joins the core module and +the I/O board. Table 9 shows the assignment for the 260-Pins. + +.. table:: 260-Pins SODIMM definition + + +--------------------------+----+-------+----+------------------------+ + | Assignment | Pi | 260 | Pi | Assignment | + | | n# | -Pins | n# | | + | | | S | | | + | | | ODIMM | | | + +==========================+====+=======+====+========================+ + | VDDM_0V6_VTT_CTL (From | 2 |   | 1 | N/A | + | IO_Exp) | | | | | + +--------------------------+----+-------+----+------------------------+ + | XSPI_SDO | 4 | | 3 | SM_CLKOUT | + +--------------------------+----+-------+----+------------------------+ + | XSPI_SCLK | 6 | | 5 | XSPI_CLKn | + +--------------------------+----+-------+----+------------------------+ + | VDDM_control (From | 8 | | 7 | N/A | + | IO_Exp) | | | | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 10 | | 9 | N/A | + +--------------------------+----+-------+----+------------------------+ + | XSPI_SDI | 12 | | 11 | N/A | + +--------------------------+----+-------+----+------------------------+ + | XSPI_SS0n | 14 | | 13 | N/A | + +--------------------------+----+-------+----+------------------------+ + | External_Boot_SRC0 | 16 | | 15 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 18 | | 17 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 20 | | 19 | N/A | + +--------------------------+----+-------+----+------------------------+ + | ETH1_RST (From IO_Exp) | 22 | | 21 | N/A | + +--------------------------+----+-------+----+------------------------+ + | SD-CARD_PWR_EN (From | 24 | | 23 | N/A | + | IO_Exp) | | | | | + +--------------------------+----+-------+----+------------------------+ + | GND | 26 | | 25 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 28 | | 27 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 30 | | 29 | N/A | + +--------------------------+----+-------+----+------------------------+ + | GND | 32 | | 31 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 34 | | 33 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 36 | | 35 | N/A | + +--------------------------+----+-------+----+------------------------+ + | GND | 38 | | 37 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 40 | | 39 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 42 | | 41 | N/A | + +--------------------------+----+-------+----+------------------------+ + | GND | 44 | | 43 | N/A | + +--------------------------+----+-------+----+------------------------+ + | USB2_0_Dn | 46 | | 45 | N/A | + +--------------------------+----+-------+----+------------------------+ + | USB2_0_Dp | 48 | | 47 | N/A | + +--------------------------+----+-------+----+------------------------+ + | GND | 50 | | 49 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 52 | | 51 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 54 | | 53 | GND | + +--------------------------+----+-------+----+------------------------+ + | GND | 56 | | 55 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 58 | | 57 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 60 | | 59 | GND | + +--------------------------+----+-------+----+------------------------+ + | GND | 62 | | 61 | N/A | + +--------------------------+----+-------+----+------------------------+ + | USB2_1_Dp | 64 | | 63 | N/A | + +--------------------------+----+-------+----+------------------------+ + | USB2_1_Dn | 66 | | 65 | GND | + +--------------------------+----+-------+----+------------------------+ + | GND | 68 | | 67 | MIPI_CSI_RD1p | + +--------------------------+----+-------+----+------------------------+ + | USB2_0_ID | 70 | | 69 | MIPI_CSI_RD1n | + +--------------------------+----+-------+----+------------------------+ + | USB-C_VBUS | 72 | | 71 | GND | + +--------------------------+----+-------+----+------------------------+ + | USB-A_VBUS | 74 | | 73 | MIPI_CSI_RD0n | + +--------------------------+----+-------+----+------------------------+ + | I2S3_BCLK | 76 | | 75 | MIPI_CSI_RD0p | + +--------------------------+----+-------+----+------------------------+ + | I2S3_DI | 78 | | 77 | GND | + +--------------------------+----+-------+----+------------------------+ + | I2S3_DO | 80 | | 79 | MIPI_CSI_RCKp | + +--------------------------+----+-------+----+------------------------+ + | 2S3_LRCK | 82 | | 81 | MIPI_CSI_RCKn | + +--------------------------+----+-------+----+------------------------+ + | I2S2_DI | 84 | | 83 | GND | + +--------------------------+----+-------+----+------------------------+ + | URT4_RXD | 86 | | 85 | N/A | + +--------------------------+----+-------+----+------------------------+ + | PDM_DI1 | 88 | | 87 | N/A | + +--------------------------+----+-------+----+------------------------+ + | GPIO_11 | 90 | | 89 | GND | + +--------------------------+----+-------+----+------------------------+ + | SM_GPIO27 | 92 | | 91 | N/A | + +--------------------------+----+-------+----+------------------------+ + | SM_GPIO26 | 94 | | 93 | N/A | + +--------------------------+----+-------+----+------------------------+ + | SM_GPIO34 | 96 | | 95 | GND | + +--------------------------+----+-------+----+------------------------+ + | N/A | 98 | | 97 | N/A | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 99 | N/A | + | | 00 | | | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | GND | + | | 02 | | 01 | | + +--------------------------+----+-------+----+------------------------+ + | I2S2_BCLK | 1 | | 1 | N/A | + | | 04 | | 03 | | + +--------------------------+----+-------+----+------------------------+ + | EXPANDER_INT_REQn | 1 | | 1 | N/A | + | | 06 | | 05 | | + +--------------------------+----+-------+----+------------------------+ + | BOOT_SRC1 | 1 | | 1 | GND | + | | 08 | | 07 | | + +--------------------------+----+-------+----+------------------------+ + | I2S2_DO | 1 | | 1 | N/A | + | | 10 | | 09 | | + +--------------------------+----+-------+----+------------------------+ + | I2S2_MCLK | 1 | | 1 | N/A | + | | 12 | | 11 | | + +--------------------------+----+-------+----+------------------------+ + | I2S2_LRCK | 1 | | 1 | GND | + | | 14 | | 13 | | + +--------------------------+----+-------+----+------------------------+ + | SM_ADCI[0] | 1 | | 1 | MIPI_DSI_TD0n | + | | 16 | | 15 | | + +--------------------------+----+-------+----+------------------------+ + | SM_ADCI[1] | 1 | | 1 | MIPI_DSI_TD0p | + | | 18 | | 17 | | + +--------------------------+----+-------+----+------------------------+ + | SM_URT0_TXD | 1 | | 1 | GND | + | | 20 | | 19 | | + +--------------------------+----+-------+----+------------------------+ + | SM_URT0_RXD | 1 | | 1 | MIPI_DSI_TD1n | + | | 22 | | 21 | | + +--------------------------+----+-------+----+------------------------+ + | SPI1_SDI | 1 | | 1 | MIPI_DSI_TD1p | + | | 24 | | 23 | | + +--------------------------+----+-------+----+------------------------+ + | SPI1_SCLK | 1 | | 1 | GND | + | | 26 | | 25 | | + +--------------------------+----+-------+----+------------------------+ + | SPI1_SDO | 1 | | 1 | MIPI_DSI_TCKp | + | | 28 | | 27 | | + +--------------------------+----+-------+----+------------------------+ + | SM_GPIO28 | 1 | | 1 | MIPI_DSI_TCKn | + | | 30 | | 29 | | + +--------------------------+----+-------+----+------------------------+ + | USB2_OCn | 1 | | 1 | GND | + | | 32 | | 31 | | + +--------------------------+----+-------+----+------------------------+ + | SPI1_SS3n | 1 | | 1 | MIPI_DSI_TD3n | + | | 34 | | 33 | | + +--------------------------+----+-------+----+------------------------+ + | SM_GPIO25 | 1 | | 1 | MIPI_DSI_TD3p | + | | 36 | | 35 | | + +--------------------------+----+-------+----+------------------------+ + | SM_TW0_SDA | 1 | | 1 | GND | + | | 38 | | 37 | | + +--------------------------+----+-------+----+------------------------+ + | SM_TW0_SCL | 1 | | 1 | MIPI_DSI_TD2p | + | | 40 | | 39 | | + +--------------------------+----+-------+----+------------------------+ + | SM_AUDIO_MUTE\@PD | 1 | | 1 | MIPI_DSI_TD2n | + | | 42 | | 41 | | + +--------------------------+----+-------+----+------------------------+ + | CAMERA_MUTE\@PD | 1 | | 1 | GND | + | | 44 | | 43 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | GND | + | | 46 | | 45 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | HDMI_TX_TCKn | + | | 48 | | 47 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | HDMI_TX_TCKp | + | | 50 | | 49 | | + +--------------------------+----+-------+----+------------------------+ + | HDMITX_HPD | 1 | | 1 | GND | + | | 52 | | 51 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | HDMI_TX_TD0n | + | | 54 | | 53 | | + +--------------------------+----+-------+----+------------------------+ + | HDMI_TX_EDDC_SDA | 1 | | 1 | HDMI_TX_TD0p | + | | 56 | | 55 | | + +--------------------------+----+-------+----+------------------------+ + | HDMI_TX_EDDC_SCL | 1 | | 1 | GND | + | | 58 | | 57 | | + +--------------------------+----+-------+----+------------------------+ + | LevelTranslator_ENn | 1 | | 1 | HDMI_TX_TD1n | + | | 60 | | 59 | | + +--------------------------+----+-------+----+------------------------+ + | LT9611-CEC | 1 | | 1 | HDMI_TX_TD1p | + | | 62 | | 61 | | + +--------------------------+----+-------+----+------------------------+ + | SM_RSTIn\@PU | 1 | | 1 | GND | + | | 64 | | 63 | | + +--------------------------+----+-------+----+------------------------+ + | JTAG_TDO | 1 | | 1 | HDMI_TX_TD2n | + | | 66 | | 65 | | + +--------------------------+----+-------+----+------------------------+ + | JTAG_TDI & | 1 | | 1 | HDMI_TX_TD2p | + | BT-WIFI_wake-up | 68 | | 67 | | + +--------------------------+----+-------+----+------------------------+ + | JTAG_TMS & ETH1/2_INT | 1 | | 1 | GND | + | | 70 | | 69 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | N/A | + | | 72 | | 71 | | + +--------------------------+----+-------+----+------------------------+ + | N/A | 1 | | 1 | N/A | + | | 74 | | 73 | | + +--------------------------+----+-------+----+------------------------+ + | URT4_TXD | 1 | | 1 | GND | + | | 76 | | 75 | | + +--------------------------+----+-------+----+------------------------+ + | SM_TW1_SDA | 1 | | 1 | HDMI_TX_PWR_EN | + | | 78 | | 77 | | + +--------------------------+----+-------+----+------------------------+ + | SM_TW1_SCL | 1 | | 1 | JTAG_TCK | + | | 80 | | 79 | | + +--------------------------+----+-------+----+------------------------+ + | TW2_SDA | 1 | | 1 | SM_GPIO29 | + | | 82 | | 81 | | + +--------------------------+----+-------+----+------------------------+ + | TW2_SCL | 1 | | 1 | JTAG_TRSTn | + | | 84 | | 83 | | + +--------------------------+----+-------+----+------------------------+ + | SM_URT1_CTSn for M.2 | 1 | | 1 | GPIO30 | + | | 86 | | 85 | | + +--------------------------+----+-------+----+------------------------+ + | SM_URT1_RTSn for M.2 | 1 | | 1 | SM_URT1_RXD for M.2 | + | | 88 | | 87 | | + +--------------------------+----+-------+----+------------------------+ + | PWM2 | 1 | | 1 | GPIO29 | + | | 90 | | 89 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 1 | | 1 | SM_URT1_TXD for M.2 | + | | 92 | | 91 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_1V8 | 1 | | 1 | N/A | + | | 94 | | 93 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_1V8 | 1 | | 1 | SM_ADCI3 | + | | 96 | | 95 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_1V8_CTL | 1 | | 1 | SM_ADCI4 | + | | 98 | | 97 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_1V8_CTL | 2 | | 1 | SM_ADCI5 | + | | 00 | | 99 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3_CTL | 2 | | 2 | SM_ADCI6 | + | | 02 | | 01 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3_CTL | 2 | | 2 | SM_ADCI7 | + | | 04 | | 03 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | USB_BOOTn | + | | 06 | | 05 | | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_CLK | 2 | | 2 | MicroSD-CONN_VOL-SEL | + | | 08 | | 07 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GePH | + | | 10 | | 09 | Y_LED1&&STRP[CFG_LDO0] | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_CMD | 2 | | 2 | GePH | + | | 12 | | 11 | Y_LED2&&STRP[CFG_LDO1] | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 14 | | 13 | | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_D0 | 2 | | 2 | RJ45_MDIP0 | + | | 16 | | 15 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | RJ45_MDIN0 | + | | 18 | | 17 | | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_D1 | 2 | | 2 | GND | + | | 20 | | 19 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | RJ45_MDIP1 | + | | 22 | | 21 | | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_D2 | 2 | | 2 | RJ45_MDIN1 | + | | 24 | | 23 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 26 | | 25 | | + +--------------------------+----+-------+----+------------------------+ + | SDIO1_D3 | 2 | | 2 | RJ45_MDIP2 | + | | 28 | | 27 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | RJ45_MDIN2 | + | | 30 | | 29 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | GND | + | | 32 | | 31 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | RJ45_MDIP3 | + | | 34 | | 33 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | RJ45_MDIN3 | + | | 36 | | 35 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | GND | + | | 38 | | 37 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | PWR_BL_5V | + | | 40 | | 39 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_3V3 | 2 | | 2 | PWR_BL_5V | + | | 42 | | 41 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 44 | | 43 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 46 | | 45 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 48 | | 47 | | + +--------------------------+----+-------+----+------------------------+ + | GND | 2 | | 2 | GND | + | | 50 | | 49 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_5V | 2 | | 2 | PWR_5V | + | | 52 | | 51 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_5V | 2 | | 2 | PWR_5V | + | | 54 | | 53 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_5V | 2 | | 2 | PWR_5V | + | | 56 | | 55 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_5V | 2 | | 2 | PWR_5V | + | | 58 | | 57 | | + +--------------------------+----+-------+----+------------------------+ + | PWR_5V | 2 | | 2 | PWR_5V | + | | 60 | | 59 | | + +--------------------------+----+-------+----+------------------------+ + +40-Pin Header +------------- + +A 40-pin GPIO header with 0.1-inch (2.54mm) pin pitch is on the top edge +of the I/O board. Any of the general-purpose 3.3V pins can be configured +in software with a variety of alternative functions. For more +information, please refer to the *SL2610 Datasheet*. + +.. note:: + + Pin16/Pin18 are ADCI[0]/[1], the full-scale voltage is 1.8V @ max. + +.. figure:: media/sl2600/image20.png + :width: 6.49583in + :height: 6.79097in + + 40-Pins header definition + +Pin-demuxing for Standard Interface Configuration +------------------------------------------------- + +This section covers pin-demuxing configuration for the SL2610 developer +kit. + +For System Manager (SM), see :ref:`sl2600_sm_pindemux`. + +For System on Chip (SoC), see :ref:`sl2600_soc_pindemux`. + +.. _sl2600_sm_pindemux: + +.. table:: SM Pin-demuxing usage + + +----------+-----------+---------------+-------------------------------+ + | SL2610 | | | | + | System | | | | + | Manger | | | | + | (SM) | | | | + | Domain | | | | + +==========+===========+===============+===============================+ + | PAD NAME | Mode | Default Usage | Default Function description | + | | Setting | | | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO0 | OPT2 | SM_GPIO0 | ETH_1_INTÐ2_INT | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO1 | OPT2 | SM_GPIO1 | BT_Host_Wake & WiFi_Host_Wake | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO2 | OPT4 | I2S2_MCLK | I2S2_MCLK to 40-PIN | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO3 | OPT5 | SM_I3C_MS_SCL | I2C For PMIC-Vcore DVFS | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO4 | OPT5 | SM_I3C_MS_SDA | I2C For PMIC-Vcore DVFS | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO5 | OPT1 | SM_GPIO5 | VCPU/VCORE_ON#  | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO6 | OPT2 | SM_SPI1_SS3n | SM_SPI1_SS3n to 40-PIN | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO7 | OPT2 | SM_URT0_RXD | SM_URT0_RXD to 40-PIN | + | | | | | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO8 | OPT2 | SM_URT0_TXD | SM_URT0_TXD to 40-PIN | + | | | | | + +----------+-----------+---------------+-------------------------------+ + | SM_GPIO9 | OPT3 | SM_SPI1S_SDO | SM_SPI1_SDO to 40-PIN | + +----------+-----------+---------------+-------------------------------+ + | S | OPT3 | SM_SPI1S_SCLK | SM_SPI1_SCLK to 40-PIN | + | M_GPIO10 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT3 | SM_SPI1S_SDI | SM_SPI1_SDI to 40-PIN | + | M_GPIO11 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_TW0_SCL | Power Sensor + IO exp + | + | M_GPIO12 | | | MIPI_CSI0 | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_TW0_SDA | Power Sensor + IO exp + | + | M_GPIO13 | | | MIPI_CSI0 | + +----------+-----------+---------------+-------------------------------+ + | S | OPT7 | SM_URT1_CTSn | SM_UART1 to WIFI/BT Module | + | M_GPIO14 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT7 | SM_URT1_RTSn | SM_UART1 to WIFI/BT Module | + | M_GPIO15 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_URT1_RXD | SM_UART1_RXD to WIFI/BT | + | M_GPIO16 | | | Module | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_URT1_TXD | SM_UART1_TXD to WIFI/BT | + | M_GPIO17 | | | Module | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_CS0n | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO18 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_DATA0 | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO19 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_DATA1 | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO20 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_DATA2 | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO21 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_DATA3 | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO22 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_CLK | XSPI 4BIT BOOT for DIAG/UBOOT | + | M_GPIO23 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_XSPI_CLKn | Reserved to SODIMM | + | M_GPIO24 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO25 | SM_GPIO25 to 40-PIN | + | M_GPIO25 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO26 | SM_GPIO26 to 40-PIN | + | M_GPIO26 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO27 | SM_GPIO27 to 40-PIN | + | M_GPIO27 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO28 | SM_GPIO28 to 40-PIN | + | M_GPIO28 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO29 | SM_GPIO29 to 40-PIN | + | M_GPIO29 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT8 | SM_CLKOUT | 32.768KHz CLOCK (Reserved for | + | M_GPIO30 | | | SODIMM) | + +----------+-----------+---------------+-------------------------------+ + | S | OPT6 | SM_URT0_RXD | SM_URT0_RXD to 40-PIN | + | M_GPIO31 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT5 | SM_PDM_CLKIO | SM_PDM_CLKIO | + | M_GPIO32 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT2 | SM_PWM2 | SM_PWM2 to 40-PIN | + | M_GPIO33 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO34 | SM_GPIO34 to 40-PIN | + | M_GPIO34 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO35 | ETH2 PHY Reset | + | M_GPIO35 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO36 | LT9611-RSTn (default PU)   | + | M_GPIO36 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO37 | DMIC_MUTEn (default PU) | + | M_GPIO37 | | | | + +----------+-----------+---------------+-------------------------------+ + | S | OPT1 | SM_GPIO38 | HDMI_PWR_EN for LT9611 | + | M_GPIO38 | | | | + +----------+-----------+---------------+-------------------------------+ + +.. _sl2600_soc_pindemux: + +.. table:: SoC Pin-demuxing usage + + +--------+----------+-------------+----------------------------------+ + | SL2610 | | | | + | Sy | | | | + | stem-o | | | | + | n-chip | | | | + | (SoC) | | | | + | Domain | | | | + +========+==========+=============+==================================+ + | PAD | Mode | Default | Default Function description | + | NAME | Setting | Usage | | + +--------+----------+-------------+----------------------------------+ + | GPIO0 | OPT2 | I2S1_LRCK | I2S1_LRCK to Audio DAC | + +--------+----------+-------------+----------------------------------+ + | GPIO1 | OPT2 | I2S1_BCLK | I2S1_BCK to Audio DAC | + +--------+----------+-------------+----------------------------------+ + | GPIO2 | OPT2 | I2S1_DO | I2S1_DO to Audio DAC | + +--------+----------+-------------+----------------------------------+ + | GPIO3 | OPT2 | I2S1_MCLK | I2S1_MCLK to Audio DAC | + +--------+----------+-------------+----------------------------------+ + | GPIO4 | OPT1 | GPIO4 | PIO.EXP_INT | + +--------+----------+-------------+----------------------------------+ + | GPIO5 | OPT2 | I2S2_LRCK | I2S2_LRCK to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO6 | OPT2 | I2S2_BCLK | I2S2\_ BCLK to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO7 | OPT2 | I2S2_DO | I2S2\_ DO to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO8 | OPT2 | I2S2_DI | I2S2\_ DI to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO9 | OPT5 | PDM_DI1 | PDM_DI1 | + +--------+----------+-------------+----------------------------------+ + | GPIO10 | OPT1 | GPIO10 | LT9611-INTn | + +--------+----------+-------------+----------------------------------+ + | GPIO11 | OPT1 | GPIO11 | GPIO11 to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO12 | OPT2 | I2S3_LRCK | I2S3_LRCK to WIFI/BT Module | + +--------+----------+-------------+----------------------------------+ + | GPIO13 | OPT2 | I2S3_BCLK | I2S3_BCLK to WIFI/BT Module | + +--------+----------+-------------+----------------------------------+ + | GPIO14 | OPT2 | I2S3_DO | I2S3_DO to WIFI/BT Module | + +--------+----------+-------------+----------------------------------+ + | GPIO15 | OPT2 | I2S3_DI | I2S3_DI to WIFI/BT Module | + +--------+----------+-------------+----------------------------------+ + | GPIO16 | OPT4 | SDIO2_DAT3 | SDIO2_DAT3 to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO17 | OPT4 | SDIO2_DAT2 | SDIO2_DAT2 to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO18 | OPT4 | SDIO2_DAT1 | SDIO2_DAT1 to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO19 | OPT4 | SDIO2_DAT0 | SDIO2_DAT0 to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO20 | OPT4 | SDIO2_CMD | SDIO2_CMD to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO21 | OPT4 | SDIO2_CLK | SDIO2_CLK to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO22 | OPT4 | SDIO2_CDn | SDIO2_CDn to SD Card | + +--------+----------+-------------+----------------------------------+ + | GPIO23 | OPT2 | TW2_SCL | TW2_SCL to MIPI_DSI +LT9611 + | + | | | | 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO24 | OPT2 | TW2_SDA | TW2_SDA to MIPI_DSI +LT9611 + | + | | | | 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO25 | OPT1 | GPIO25 | LT9611_HPD | + +--------+----------+-------------+----------------------------------+ + | GPIO26 | OPT1 | GPIO26 | AUD_MUTEn | + +--------+----------+-------------+----------------------------------+ + | GPIO27 | OPT3 | URT4_TXD | URT4_TXD to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO28 | OPT3 | URT4_RXD | URT4_RXD to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO29 | OPT1 | GPIO29 | GPIO29 to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO30 | OPT1 | GPIO30 | GPIO30 to 40-PIN | + +--------+----------+-------------+----------------------------------+ + | GPIO31 | OPT3 | RGMII_MDC | RGMII_MDC | + +--------+----------+-------------+----------------------------------+ + | GPIO32 | OPT3 | RGMII_MDIO | RGMII_MDIO | + +--------+----------+-------------+----------------------------------+ + | GPIO33 | OPT2 | RGMII1_TD0 | RGMII1_TD0 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO34 | OPT2 | RGMII1_TD1 | RGMII1_TD1 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO35 | OPT2 | RGMII1_TD2 | RGMII1_TD2 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO36 | OPT2 | RGMII1_TD3 | RGMII1_TD3 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO37 | OPT2 | RGMII1_RD0 | RGMII1_RD0 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO38 | OPT2 | RGMII1_RD1 | RGMII1_RD1 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO39 | OPT2 | RGMII1_RD2 | RGMII1_RD2 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO40 | OPT2 | RGMII1_RD3 | RGMII1_RD3 (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO41 | OPT2 | RGMII1_RXC | RGMII1_RXC (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO42 | OPT2 | RGMII1_TXC | RGMII1_TXC (30-PIN Connector on | + | | | | Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO43 | OPT2 | R | RGMII1_TXCTL (30-PIN Connector | + | | | GMII1_TXCTL | on Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO44 | OPT2 | R | RGMII1_RXCTL (30-PIN Connector | + | | | GMII1_RXCTL | on Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO45 | OPT2 | RG | RGMII1_CLKOUT (30-PIN Connector | + | | | MII1_CLKOUT | on Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO46 | OPT1 | GPIO46 | USB2_Ocn | + +--------+----------+-------------+----------------------------------+ + | GPIO47 | OPT5 | R | RMII2_REFCLK (30-PIN Connector | + | | | MII2_REFCLK | on Core Module) | + +--------+----------+-------------+----------------------------------+ + | GPIO48 | OPT2 | RGMII2_TD0 | RGMII2_TD0 | + +--------+----------+-------------+----------------------------------+ + | GPIO49 | OPT2 | RGMII2_TD1 | RGMII2_TD1 | + +--------+----------+-------------+----------------------------------+ + | GPIO50 | OPT2 | RGMII2_TD2 | RGMII2_TD2 | + +--------+----------+-------------+----------------------------------+ + | GPIO51 | OPT2 | RGMII2_TD3 | RGMII2_TD3 | + +--------+----------+-------------+----------------------------------+ + | GPIO52 | OPT2 | RGMII2_RD0 | RGMII2_RD0 | + +--------+----------+-------------+----------------------------------+ + | GPIO53 | OPT2 | RGMII2_RD1 | RGMII2_RD1 | + +--------+----------+-------------+----------------------------------+ + | GPIO54 | OPT2 | RGMII2_RD2 | RGMII2_RD2 | + +--------+----------+-------------+----------------------------------+ + | GPIO55 | OPT2 | RGMII2_RD3 | RGMII2_RD3 | + +--------+----------+-------------+----------------------------------+ + | GPIO56 | OPT2 | RGMII2_RXC | RGMII2_RXC | + +--------+----------+-------------+----------------------------------+ + | GPIO57 | OPT2 | RGMII2_TXC | RGMII2_TXC | + +--------+----------+-------------+----------------------------------+ + | GPIO58 | OPT2 | R | RGMII2_TXCTL | + | | | GMII2_TXCTL | | + +--------+----------+-------------+----------------------------------+ + | GPIO59 | OPT2 | R | RGMII2_RXCTL | + | | | GMII2_RXCTL | | + +--------+----------+-------------+----------------------------------+ + +GPIO Expanders Over I2C +----------------------- + +Due to the considerable number of functionalities covered by the SL2610 +developer kit, most of the SL2610 digital pins that have GPIO/GPO +pin-demux options are used for other functions. As such, GPIO expanders +are used extensively to supplement system control purposes. + +.. table:: GPIO expanders usage + + +-------+-----------+------+------+-------+--------------+------------+ + | Exp | I2C# | Do | Vol | Dire | Function | GPIO | + | ander | | main | tage | ction | | Signaling | + | GPI | | | | | | | + | O/GPO | | | | | | | + +=======+===========+======+======+=======+==============+============+ + | | | | | | | | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | SDIO_VOL_SEL | 0: 3.3V | + | IO0_0 | (0x43) | | | | | (default) | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: 1.8V | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | PWR_ON_DSI | 0: Power | + | IO0_1 | (0x43) | | | | | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | ON | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | VDDM_ON# | 0: Power | + | IO0_2 | (0x43) | | | | | ON VDDM | + | | | | | | | PMICs | + | | | | | | | (2V5/1V2) | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | V | 0: Power | + | IO0_3 | (0x43) | | | | DDM-LPQ_OFF# | ON VDDM-LP | + | | | | | | | PMIC (0V6) | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | STAND-BY_EN | 0: Normal | + | IO0_4 | (0x43) | | | | | status | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Entry | + | | | | | | | standby | + | | | | | | | status and | + | | | | | | | devices | + | | | | | | | powered | + | | | | | | | down | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | U | 0: Power | + | IO0_5 | (0x43) | | | | SB2.0_PWR_EN | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | ON | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3 | IN | M2- | 0: | + | IO0_6 | (0x43) | | | | PCIe_CLKREQ# | Triggered | + | | | | | | | for M.2 | + | | | | | | | PCIe Clock | + | | | | | | | Request | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Idle | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3 | I | GPIO_DSI | In | + | IO0_7 | (0x43) | | | N/OUT | | reserved | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | In | + | | | | | | | reserved | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | I | GPIO_CSI0 | In | + | IO1_0 | (0x44) | | | N/OUT | | reserved | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | In | + | | | | | | | reserved | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | M2-PCIe_RST# | 0: | + | IO1_1 | (0x44) | | | | | Assertion | + | | | | | | | Reset for | + | | | | | | | M.2 PCIe | + | | | | | | | Module | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: | + | | | | | | | De | + | | | | | | | -assertion | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | M2 | 0: | + | IO1_2 | (0x44) | | | | -W_DISABLE1# | Assertion | + | | | | | | | Disable to | + | | | | | | | M.2 module | + | | | | | | | by | + | | | | | | | DISABLE1# | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: | + | | | | | | | De | + | | | | | | | -assertion | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | M2- | 0: | + | IO1_3 | (0x44) | | | | W_HOST-WAKE# | Assertion | + | | | | | | | Wake from | + | | | | | | | Host to | + | | | | | | | M.2 module | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: | + | | | | | | | De | + | | | | | | | -assertion | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | PWR_ON_CSI0 | 0: Power | + | IO1_4 | (0x44) | | | | | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | ON | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | M2 | 0: | + | IO1_5 | (0x44) | | | | -W_DISABLE2# | Assertion | + | | | | | | | Disable to | + | | | | | | | M.2 module | + | | | | | | | by | + | | | | | | | DISABLE2# | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: | + | | | | | | | De | + | | | | | | | -assertion | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | ETH1_RST# | 0: | + | IO1_6 | (0x44) | | | | | Assertion | + | | | | | | | Reset for | + | | | | | | | ETH1 | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: | + | | | | | | | De | + | | | | | | | -assertion | + +-------+-----------+------+------+-------+--------------+------------+ + | GP | SM_TW0 | SM | 3.3V | OUT | SD | 0: Power | + | IO1_7 | (0x44) | | | | _CARD_PWR_EN | OFF | + +-------+-----------+------+------+-------+--------------+------------+ + | | | | | | | 1: Power | + | | | | | | | ON | + +-------+-----------+------+------+-------+--------------+------------+ + +This section describes the Astra Machina’s usage of the I\ :sup:`2`\ C +bus, the equivalence of SL2610’s Two Wire Serial Interface (TWSI) bus. + +.. table:: I2C bus descriptions + + +--------+---------------------+------------+----+--------+----------+ + | I2 | Device | Part | R | Target | Location | + | C/TWSI | | Number | ef | A | | + | Bus | | | D | ddress | | + | | | | es | | | + | | | | | ( | | + | | | | | 7-bit) | | + +========+=====================+============+====+========+==========+ + | SM_TW0 | Current monitor for | SGM | U | 0x40 | SL2610 | + | | PWR_3V3 | 832AXMS10G | 76 | | I/O | + | | | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | Current monitor for | SGM | U | 0x41 | SL2610 | + | | PWR_1V8 | 832AXMS10G | 77 | | I/O | + | | | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | Current monitor for | INA3221 | U | 0x42 | SL2610 | + | | Vcore, VDDM_2V5, | | 19 | | Cor | + | | VDDM_1V2 | | | | e-Module | + +--------+---------------------+------------+----+--------+----------+ + | | IC GPIO EXPANDER | FXL6408UMX | U | 0x43 | SL2610 | + | | | | 12 | | I/O | + | | | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | IC GPIO EXPANDER | FXL6408UMX | U | 0x44 | SL2610 | + | | | | 13 | | I/O | + | | | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | Current monitor for | SGM | U | 0x45 | SL2610 | + | | VDD_SM | 832AXMS10G | 20 | | Cor | + | | | | | | e-Module | + +--------+---------------------+------------+----+--------+----------+ + | | External device |  N/A | J2 | 0xXX | SL2610 | + | | connects to | | 06 | | I/O | + | | MIPI_CSI0 connector | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | SM_TW1 | PMIC for Vcore | SY8827NPKC | U3 | 0x60 | SL2610 | + | | | | | | core | + | | | | | | module | + +--------+---------------------+------------+----+--------+----------+ + | S | External device |  N/A | J2 | 0xXX | SL2610 | + | OC_TW2 | connects to | | 08 | | I/O | + | | MIPI_DSI connector | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | External device |  N/A | J | 0xXX | SL2610 | + | | connects to 40pin | | 32 | | I/O | + | | Header | | | | board | + +--------+---------------------+------------+----+--------+----------+ + | | MIPI_DSI to HDMI-Tx | LT9611 | U8 | 0x3B | SL2610 | + | | converter | | | | Cor | + | | | | | | e-Module | + +--------+---------------------+------------+----+--------+----------+ + | S | Not used |  N/A |  N |  N/A | SL2610 | + | OC_TW3 | | | /A | | I/O | + | | | | | | board | + +--------+---------------------+------------+----+--------+----------+ + +Bringing Up the SL2610 Astra Machina System +============================================ + +Connecting External Components and Performing Hardware Testing +-------------------------------------------------------------- + +Perform the following steps to connect the external components to the +SL2610 developer kit: + +1. Connect a Type-C power supply to J213 (PWR_IN). + +2. Connect TV to J12 (HDMI_Tx) with a HDMI cable. + +3. Connect Network to J2 (RJ45) with an Ethernet cable. + +4. Insert USB2.0 flash disk to J216 /J210. + +5. Insert USB2.0 flash disk to J215 over Type-C/Type-A dongle. + +If there are no short issues, power up the system and check voltages as +shown in Table 14, the LED status is shown in Table 1. + +.. figure:: media/sl2600/image19.png + :width: 6.5in + :height: 4.44583in + + Short and voltage check points + +.. table:: Short and voltage check points using any test point for ground + + +------------+------------+-----------------+--------------------------+ + | Ref Des | Form | Signal | Voltage | + +============+============+=================+==========================+ + | TP16 | SMD pad | PWR_5V | 5.2V +/- 2% | + | | | | | + | | | | [5.096,5.304] | + +------------+------------+-----------------+--------------------------+ + | TP15 | SMD pad | PWR_3V3 | 3.3V +/- 1% | + | | | | | + | | | | [3.267,3.333] | + +------------+------------+-----------------+--------------------------+ + | TP12 | SMD pad | PWR_1V8 | 1.8V +/- 2% | + | | | | | + | | | | [1.764,1.836] | + +------------+------------+-----------------+--------------------------+ + | TP14 | SMD pad | PWR_3V3_CTL | 3.3V +/- 1% | + | | | | | + | | | | [3.267,3.333] | + +------------+------------+-----------------+--------------------------+ + | TP13 | SMD pad | PWR_1V8_CTL | 1.8V +/- 2% | + | | | | | + | | | | [1.764,1.836] | + +------------+------------+-----------------+--------------------------+ + | TP7 | SMD pad | PWR_VDDM_2V5 | 2.5V +/- 2% | + | | | | | + | | | | [2.45,2.55] | + +------------+------------+-----------------+--------------------------+ + | TP8 | SMD pad | PWR_VDDM_1V2 | 1.2V +/- 2% | + | | | | | + | | | | [1.176,1.224] | + +------------+------------+-----------------+--------------------------+ + | TP9 | SMD pad | P | 0.6V +/- 2% | + | | | WR_VDDM_0V6_VTT | | + | | | | [0.588,0.612] | + +------------+------------+-----------------+--------------------------+ + | TP10 | SMD pad | P | 0.8V +/- 2% | + | | | WR_SoC_VDD_CORE | | + | | | | [0.784,0.816] | + +------------+------------+-----------------+--------------------------+ + | TP11 | SMD pad | PWR_VDD_SM | 0.8V +/- 2% | + | | | | | + | | | | [0.784,0.816]] | + +------------+------------+-----------------+--------------------------+ + +References +========== + +The following document is applicable to the SL2610 developer kit: + +- *SL2610 Product Line of Embedded Processors Datasheet* (PN: + 505-001501-01) diff --git a/index.rst b/index.rst index 7729aad..6fdc499 100644 --- a/index.rst +++ b/index.rst @@ -61,7 +61,7 @@ External Documentation This guide explains in depth how to use the SyNAP toolkit and the SyNAP runtime API. -`Yocto Project Documentation `__ +`Yocto Project Documentation `__ Official documentation of the Yocto project. diff --git a/linux/index.rst b/linux/index.rst index d259803..7445e79 100644 --- a/linux/index.rst +++ b/linux/index.rst @@ -20,9 +20,17 @@ The following Reference Kits and platforms are covered by this guide: - Astra Machina (Foundation) SL1680 +- Astra Machina (Foundation) SL2611 + +- Astra Machina (Foundation) SL2615 + +- Astra Machina (Foundation) SL2619 + References ---------- +- `Torq Compiler User Guide `__ + - `SyNAP User Guide `__ @@ -139,6 +147,9 @@ The serial console on Astra Machina can be accessed by connecting a USB-TTL adap the RX, TX, and GND pins of the 40 pin GPIO connector. USB-TTL adaptors can either be a board with jumper wires or an integrated USB cable with separated pins. +SL1620, SL1640, SL1680, SL2610 Rev B +"""""""""""""""""""""""""""""""""""" + ======= ============= USB TTL Astra Machina ======= ============= @@ -147,6 +158,21 @@ RXD TX (Pin 8) TXD RX (Pin 10) ======= ============= +SL2610 Rev A +"""""""""""" + +.. note:: + + SL2610 Rev A Core Modules use Pin 28 for TX. All other revisions use Pin 10. + +======= ============= +USB TTL Astra Machina +======= ============= +GND GND (Pin 6) +RXD TX (Pin 8) +TXD RX (Pin 28) +======= ============= + .. note:: RX and TX pins operate at a typical voltage of 3.3V @@ -160,7 +186,7 @@ The following USB-TTL adaptors are officially approved to work with Astra Machin +================+===============+=====================================+====================================+ | 5V-Out | Red | NC | NC | +----------------+---------------+-------------------------------------+------------------------------------+ - | TX-Out | Green | Pin-10 | UART0_Rx-In | + | TX-Out | Green | Pin-10 (Pin-28 SL2610 Rev A) | UART0_Rx-In | +----------------+---------------+-------------------------------------+------------------------------------+ | RX-In | White | Pin-8 | UART0_Tx-Out | +----------------+---------------+-------------------------------------+------------------------------------+ @@ -175,7 +201,7 @@ The following USB-TTL adaptors are officially approved to work with Astra Machin +================+===============+=====================================+====================================+ | 5V-Out | Red | NC | NC | +----------------+---------------+-------------------------------------+------------------------------------+ - | TX-Out | Green | Pin-10 | UART0_Rx-In | + | TX-Out | Green | Pin-10 (Pin-28 SL2610 Rev A) | UART0_Rx-In | +----------------+---------------+-------------------------------------+------------------------------------+ | RX-In | White | Pin-8 | UART0_Tx-Out | +----------------+---------------+-------------------------------------+------------------------------------+ @@ -252,7 +278,7 @@ the codecs supported by the Astra Machina. Video Codecs ^^^^^^^^^^^^ -**SL1620** +**SL1620 / SL261x** ========= ================= ================== ================== Codec Parser Plugin Decoder Plugin Encoder Plugin @@ -355,7 +381,7 @@ the wayland protocol and compositor to display the video output. .. note:: - ``kmssink`` and ``xvimagesink`` are not currently support on Scarthgap releases. + ``xvimagesink`` are not currently support on Scarthgap releases. Wayland Sink ************ @@ -410,7 +436,7 @@ An example of a H265 encoded video file on SL1640 / SL1680:: gst-launch-1.0 filesrc location=test_file.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! v4l2h265dec ! waylandsink fullscreen=true -An example of a H265 encoded video file on SL1620:: +An example of a H265 encoded video file on SL162 / SL261x:: gst-launch-1.0 filesrc location=test_file.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! avdec_h265 ! waylandsink fullscreen=true @@ -434,7 +460,7 @@ audio stream:: demux.video_0 ! queue ! h265parse ! v4l2h265dec ! queue ! waylandsink fullscreen=true \ demux.audio_0 ! queue ! aacparse ! fdkaacdec ! audioconvert ! alsasink device=hw:0,7 -Play an MP4 file on SL1620 with a H265 encoded video stream and an AAC encoded +Play an MP4 file on SL1620 / SL261x with a H265 encoded video stream and an AAC encoded audio stream:: gst-launch-1.0 filesrc location=little.mp4 ! qtdemux name=demux \ @@ -485,8 +511,8 @@ output to the wayland sink:: gst-launch-1.0 v4l2src device=/dev/video2 ! "video/x-raw,framerate=30/1,format=YUY2,width=640,height=480" ! waylandsink fullscreen=true -Image Sensor Cameras -"""""""""""""""""""" +Image Sensor Cameras with SL1680 +"""""""""""""""""""""""""""""""" SL1680 includes an integrated ISP and supports connecting image sensor camera modules using the MIPI-CSI connectors. Gstreamer can use these cameras using the V4L2 interface. The ISP supports 3 output paths, the main path supports outputing 4K resolution (if the sensor supports 4K), and the Secondary Paths @@ -630,6 +656,142 @@ To explicitly disable MMU support while using NV12 format, add the extra-control requires the stride value be correctlt aligned. Unfortunately, Gstreamers filesink element ignores this value. The only workaround is for the user to disable MMU for paths where the MMU is enabled by default. +Image Sensor Cameras with SL2619 +"""""""""""""""""""""""""""""""" + +The SL2619 platform supports a mini ISP which supports two parallel data streams, from a single sensor, each with identical +processing blocks. Each pipeline contain these functional blocks: Demosaic and Colour Space Conversion (CSC), DNS, Resizer +and White Balance. Both pipelines can output RGB888, YUV420, and Bayer RAW format. + +The default white balance parameters are tuned for typical indoor (room) lighting conditions and may need adjustment depending on the current test environment. +These ISP settings are applicable only for specific supported sensors. + +The mini ISP on SL261x is primarily designed to support AI use cases such as object detection and face detection. Therefore, the display output quality will not be +identical to the SL1680's full-featured ISP, which offers full image enhancement capabilities. + +The device file number may vary depending on your configuration. You can use the ``v4l2-ctl`` command to find which device files are associated with each of the +ISP paths. + +.. figure:: media/sl2619-isp-path-devices.png + :scale: 75% + + ``v4l2-ctl --list-devices`` output with the ISP Path devices highlighted + +The device name will be ``camera-video``. If an additional USB camera is connected, the device indices may change; otherwise, they default to ``video0`` and ``video1``. + +.. figure:: media/sl2619-isp-device-capabilities.png + :scale: 75% + + ISP device capabilities + +Supported Sensor Modules +************************ + +.. list-table:: + :header-rows: 1 + :widths: 25 35 25 15 + + * - Sensor + - Module + - Supported Resolutions / FPS + - Scaling Factor + + * - OV5647 + - `Arducam 5MP OV5647 Camera Module `__ + - 640x480 @ 60fps + - 2x, 4x + + * - + - + - 1920x1080 @ 30fps + - 2x, 3x, 4x, 6x + + * - + - + - 1280x720 @ 30fps + - 2x, 4x, 5x, 8x + +See :ref:`sensor_sl2610` for supporting more sensor modules. + +Configuring Exposure Settings for OV5647 +**************************************** + +To set the exposure and gain settings, first find the corresponding V4L2 Sub Device using the ``media-ctl -p`` command. + +.. figure:: media/sl2619-media.png + + Output of ``media-ctl -p``. + +Use the output to determine the sub device needed to set the gain and exposure values. + +Enable manual exposure and automatic gain:: + + v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl auto_exposure=1 + v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl gain_automatic=0 + +Similarly, Adjust analogue gain and exposure time based on lighting:: + + v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl analogue_gain=200 + v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl exposure=310 + +If the sensor supports automatic white balance (AWB), enable it with:: + + v4l2-ctl -d /dev/v4l-subdev2 --set-ctrl white_balance_automatic=1 + +WB parameters inside the ISP can be changed in the Device Tree. To completely disable ISP's WB:: + + v4l2-ctl -d 0 -c wb_enable=0 + +Use the ``v4l2-ctl`` command with the ``list-ctrls`` option to view what controls are accessible. + +.. figure:: media/sl2619-list-ctrls.png + + Output of ``v4l2-ctl -d /dev/v4l-subdev2 --list-ctrls``. + +Gstreamer Commands with Wayland Sink +************************************ + +Using Gstreamer commands, ISP output can be captured to a file or it can be played on the display using ``waylandsink`` gstreamer element. Example commands for both are shown below. + ++-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Format | Command | ++===========+==================================================================================================================================================================================================+ +| YUV420 | ``gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)30/1' ! waylandsink async=false`` | ++ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | ``gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)60/1' ! filesink location=/tmp/1.yuv`` | ++-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RGB888 | ``gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080, framerate=(fraction)30/1' ! videoconvert ! waylandsink async=false`` | ++ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | ``gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)RGB, width=(int)1920, height=(int)1080, framerate=(fraction)30/1' ! glupload ! glcolorconvert ! glimagesink`` | ++ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | ``gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=(string)RGB, width=(int)640, height=(int)480, framerate=(fraction)60/1' ! filesink location=/tmp/1.rgb`` | ++-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +To use the second pipeline, simply switch the device to ``/dev/video1`` . Note that, it’s possible to run two pipelines simultaneously. + +ISP Video Test Application +************************** + +``isp_video_test`` is a V4L2 test application that can be used to test for capture or playback. + +Usage +***** + +:: + + isp_video_test -w 1920 -h 1080 -f NM12 -m 0 -t 3 -d 0 + +*Options* + * -w Image width + * -h Image height + * -f Image format NM12, RGB24 + * -t Display type: + * 0: DRM-KMS + * 2: File + * 3: Wayland + * -d Video device ID + * -p Path to store the output file. If not specified, current folder will be used. + RTSP Cameras """""""""""" @@ -1019,13 +1181,13 @@ Run the Syna Video Player:: root@sl1680:~# syna-video-player --mach sl1680 --mode ffmpeg The Syna Video Player expects two paramaters, the machine type and the mode. The machine type is the version of Astra Machina which the application is running on. -The valid options are ``sl1620``, ``sl1640`` and ``sl1680``. The mode specifies which mode of decoding should be used. The options are ``ffmpeg`` and ``v4l2``. +The valid options are ``sl1620``, ``sl1640``, ``sl1680``, and ``sl2619``. The mode specifies which mode of decoding should be used. The options are ``ffmpeg`` and ``v4l2``. When set to ``ffmpeg`` the Syna Video Player application will use the `ffmpeg library `__ to perform decoding of the video stream in software. When ``v4l2`` is set then Syna Video Player will use the V4L2 APIs to perform decoding of the video stream using hardware acceleration. .. note:: - SL1620 requires mode to be set to ffmpeg since it does not support V4L2 decoding. + SL1620 and SL2619 requires the mode to be set to ffmpeg since it does not support V4L2 decoding. The information on the video files is defined in the QML files in /home/root/demos/qmls/. Please update the video names and path in these files so that Syna Video Player can locate the videos installed on your system. The video information is set in the file ``-.qml``. For example, to update the video files on SL1680 in ffmpeg mode, @@ -1056,6 +1218,30 @@ The valid options are ``sl1620``, ``sl1640`` and ``sl1680``. Only SL1680 support Multiview. +.. note:: + + Syna AI Player is not supported on SL261x. Torq Demo is used instead. + +Torq Demo +^^^^^^^^^ + +Torq is the new framework for the Coral NPU integrated into SL261x platforms. The Torq Demo application showcases AI use cases using Torq. +Currently, it demonstrated Image Classification and Object Detection. + +The Torq Demo supports using both the CPU or the NPU. + +.. figure:: media/sl2619-torq-demo.png + + The main screen of Torq Demo + +.. figure:: media/sl2619-torq-image-classification.png + + The Image Classification screen of Torq Demo + +.. figure:: media/sl2619-torq-opbject-detection.png + + The Object Detection screen of Torq Demo + .. _synap: Machine Learning with SyNAP @@ -1083,6 +1269,8 @@ SL1640 SYNA 43752 M.2 PCIe - wpa_supplicant v2.11 - WIFI driver version: v101.10.478 SL1680 SYNA 43752 M.2 PCIe - wpa_supplicant v2.11 - WIFI driver version: v101.10.478 +SL2610 SYNA 43711S M.2 SDIO - wpa_supplicant v2.11 + - WIFI driver version: v101.10.478 ============ =============== ===================== ======================================================== The Synaptics Astra Linux BSP contains all of the drivers and firmware required to use the 43xxx modules with both PCIe and SDIO interfaces. @@ -1856,6 +2044,10 @@ home Mounted in /home, can be customized Updating Software Images using USB ---------------------------------- +.. note:: + + USB Boot is not supported with SL261x. Use :ref:`update_with_uboot` instead. + Astra Machina supports updating software images using USB. .. _usb_boot_setup: @@ -2075,12 +2267,25 @@ To flash an Astra system image from an external USB drive simply copy the image directory to the USB drive. The USB drive will need a partition with a Fat32 formatted file system and enough capacity to fit the Astra system image. +.. note:: + + When flashing the eMMC for the first time, be sure to copy ``emmc_image_list_full`` to ``emmc_image_list`` in the + ``eMMCimg`` directory on the USB drive. This is required in order to format the ``/factory_setting`` partition. + Otherwise, the system will boot into maintenance mode after failing to mount the ``/factory_setting`` partition. + Write the image to eMMC using the command:: + => usb reset => usb2emmc eMMCimg The parameter eMMCimg is the name of the image directory on the USB drive. +.. note:: + + If ``usb reset`` reports ``0 Storage Device(s) found`` and only one USB controller was detected + then the USB drive needs to be connected to the USB Type-C USB 2.0 port + (may require USB Type-C to USB Type-A adaptor). + Flashing Images from a TFTP Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2120,8 +2325,13 @@ Updating Internal SPI Flash Images using U-Boot The internal SPI flash on Astra Machina can also be updated using the methods described above. You can find the latest versions of the SPI images on `GitHub `__. -Flashing Image from an External USB Drive -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. note:: + + SL261x and SL16x0 use different commands to update the internal SPI flash. Please follow the guide specific to + the device you are using. + +Flashing Image from an External USB Drive on SL16x0 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To update the internal SPI flash image using an external USB drive, simply copy the image to the drive. The USB drive will need a partition with a Fat32 formatted file system. @@ -2136,8 +2346,8 @@ An optional backup copy of the SPI flash image can be installed using the comman => erase f0200000 f03fffff; cp.b 0x10000000 0xf0200000 0x200000; -Flashing Image from TFTP Server -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Flashing Image from TFTP Server on SL16x0 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To update the internal SPI flash image by downloading it from a TFTP server, simply copy the image to the TFTP server. @@ -2165,3 +2375,41 @@ An optional backup copy of the SPI flash image can be installed using the comman 10.10.10.10. Please replace this IP with the IP address of the server hosting TFTP. +Flashing Image from an External USB Drive on SL261x +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To update the internal SPI flash image using an external USB drive, simply copy the image to the drive. +The USB drive will need a partition with a Fat32 formatted file system. + +Write the image to SPI flash using the following commands:: + + => usb start; fatload usb 0 0x10000000 u-boot-astra-v1.0.2.sl2610.rdk.spi.bin; + => sf probe + => sf erase 0 0x200000 + => sf write 0x10000000 0x0 0x200000 + +Flashing Image from TFTP Server on SL261x +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To update the internal SPI flash image by downloading it from a TFTP server, simply copy the image to +the TFTP server. + +Write the SPI image to the SPI flash from the TFTP server using the command:: + + => net_init; dhcp; + => setenv serverip 10.10.10.10; + => tftpboot 0x10000000 u-boot-astra-v1.0.2.sl2610.rdk.spi.bin; + => sf probe + => sf erase 0 0x200000 + => sf write 0x10000000 0x0 0x200000 + +.. note:: + + SPI U-Boot initializes the network and requests an IP automatically. + The ``net_init`` and ``dhcp`` commands not needed when using SPI U-Boot. + +.. note:: + + In the examples above the TFTP server's address is + 10.10.10.10. Please replace this IP with the IP address of the server + hosting TFTP. \ No newline at end of file diff --git a/linux/media/sl2619-isp-device-capabilities.png b/linux/media/sl2619-isp-device-capabilities.png new file mode 100644 index 0000000..31587fb Binary files /dev/null and b/linux/media/sl2619-isp-device-capabilities.png differ diff --git a/linux/media/sl2619-isp-path-devices.png b/linux/media/sl2619-isp-path-devices.png new file mode 100644 index 0000000..64fa31c Binary files /dev/null and b/linux/media/sl2619-isp-path-devices.png differ diff --git a/linux/media/sl2619-list-ctrls.png b/linux/media/sl2619-list-ctrls.png new file mode 100644 index 0000000..ade7586 Binary files /dev/null and b/linux/media/sl2619-list-ctrls.png differ diff --git a/linux/media/sl2619-media.png b/linux/media/sl2619-media.png new file mode 100644 index 0000000..b46f9ff Binary files /dev/null and b/linux/media/sl2619-media.png differ diff --git a/linux/media/sl2619-torq-demo.png b/linux/media/sl2619-torq-demo.png new file mode 100644 index 0000000..3b3ef41 Binary files /dev/null and b/linux/media/sl2619-torq-demo.png differ diff --git a/linux/media/sl2619-torq-image-classification.png b/linux/media/sl2619-torq-image-classification.png new file mode 100644 index 0000000..b1c6f29 Binary files /dev/null and b/linux/media/sl2619-torq-image-classification.png differ diff --git a/linux/media/sl2619-torq-opbject-detection.png b/linux/media/sl2619-torq-opbject-detection.png new file mode 100644 index 0000000..c1f6300 Binary files /dev/null and b/linux/media/sl2619-torq-opbject-detection.png differ diff --git a/linux/media/sl2619_uart.jpg b/linux/media/sl2619_uart.jpg new file mode 100644 index 0000000..7ce2bc1 Binary files /dev/null and b/linux/media/sl2619_uart.jpg differ diff --git a/quickstart/build_app.rst b/quickstart/build_app.rst index f8a3c94..232e99e 100644 --- a/quickstart/build_app.rst +++ b/quickstart/build_app.rst @@ -16,10 +16,10 @@ To build an application follows these steps: 2. Unpack the toolchain package, the ``CPUTYPE`` for ``sl1680`` is ``cortexa73``, for ``sl1620`` and ``sl1640`` is ``cortexa55``:: - $ ./poky-glibc-x86_64-astra-media-${CPUTYPE}-${MACHINE}-toolchain-4.0.9.sh - Poky (Yocto Project Reference Distro) SDK installer version 4.0.9 + $ ./poky-glibc-x86_64-astra-media-${CPUTYPE}-${MACHINE}-toolchain-5.0.9.sh + Poky (Yocto Project Reference Distro) SDK installer version 5.0.9 ================================================================= - Enter target directory for SDK (default: /opt/poky/4.0.9): toolchain + Enter target directory for SDK (default: /opt/poky/5.0.9): toolchain You are about to install the SDK to "/home/user/toolchain". Proceed [Y/n]? Extracting SDK.................................................................................................................................................................................................................................................................................................................................done Setting it up...done diff --git a/quickstart/hw_setup.rst b/quickstart/hw_setup.rst index 58245b2..6826b7f 100644 --- a/quickstart/hw_setup.rst +++ b/quickstart/hw_setup.rst @@ -7,7 +7,7 @@ embedded Linux and Android processors. A modular design incorporates swappable core compute modules, a common I/O board, and daughter cards for connectivity, debug, and flexible I/O options. This page lists the simple steps to power on and boot up the system -and applies to all SL-Series core modules: SL1680, SL1640, and SL1620. +and applies to all SL-Series core modules: SL1680, SL1640, SL1620, and SL261x. .. figure:: ./media/connections.png :width: 6.5in diff --git a/release_notes.rst b/release_notes.rst index 43e186a..42ac683 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -5,6 +5,9 @@ SDK Release Notes .. toctree:: :hidden: + release_notes/scarthgap_6.12_v2.1.0 + release_notes/scarthgap_6.12_v2.0.2 + release_notes/scarthgap_6.12_v2.0.1 release_notes/scarthgap_6.12_v2.0.0 release_notes/scarthgap_6.12_v2.0.0_alpha release_notes/kirkstone_5.15_v1.8.0 @@ -23,6 +26,12 @@ SDK Release Notes Scarthgap Releases ================== +:doc:`release_notes/scarthgap_6.12_v2.1.0` + +:doc:`release_notes/scarthgap_6.12_v2.0.2` + +:doc:`release_notes/scarthgap_6.12_v2.0.1` + :doc:`release_notes/scarthgap_6.12_v2.0.0` :doc:`release_notes/scarthgap_6.12_v2.0.0_alpha` diff --git a/release_notes/scarthgap_6.12_v2.0.1.rst b/release_notes/scarthgap_6.12_v2.0.1.rst new file mode 100644 index 0000000..7fd3e49 --- /dev/null +++ b/release_notes/scarthgap_6.12_v2.0.1.rst @@ -0,0 +1,348 @@ +=================================== +Release Notes Scarthgap 6.12 v2.0.1 +=================================== + +.. highlight:: console + +.. note:: + + Release v2.0.1 only supports SL2619. The latest feature complete release for SL1620, SL1640, + and SL1680 is :doc:`scarthgap_6.12_v2.0.0`. Future releases will support all four platforms. + +Introduction +============ + +Astra™ is Synaptics' new compute platform designed for the IoT market. It features a series of high-performance, +AI-native, multi-modal SoCs optimized for consumer, enterprise, and industrial IoT workloads. These SoCs are +equipped with hardware accelerators for edge inferencing, security, graphics, vision, and audio, and offer +out-of-the-box functionality with Synaptics' connectivity solutions. + +Astra (v2.0.1) GA Release is a unified software development kit supporting the SL-Series of MPUs. + +The high-level components included in this SDK are described below: + + * Upstream Linux Kernel and device tree. + * Low-level Linux device drivers (U-BOOT) for peripheral devices. + * Open source code for Multimedia pipelines. + * Synaptics proprietary security approach. + * Related SDK Documents + +All of these items can be found through Synaptics’ and third parties open source Git repositories on GitHub. + +Yocto SDK +--------- + +The Yocto Project is an open-source collaboration project that provides templates, tools and +methods for custom Linux-based systems for embedded and IoT products. By leveraging the power +of the open-source development community, Synaptics hopes to provide its customers with a wider +array of compatible software packages to build their products faster, with more features, while +at the same time having the stability and support of a large open-source development project. +Additionally, the SDK enables customers who already use a Yocto-based development environment +to migrate to Synaptics class-leading silicon solutions for improved performance and additional +functionality. The Yocto Project offers a vast number of software packages that provide many options. + +Reference Board Supported Scope +------------------------------- + +Below table lists the supported ASTRA reference board (Machina) and supported scope. + +============================ ================================= +SOC / Reference Board Test Validation and Support Scope +============================ ================================= +SL2619 Core board + IO board GA +============================ ================================= + +License +------- + +Using the Astra Software Developer Kit and BSP requires complying with the :doc:`../EULA`. + +Where to get the SDK from GitHub +-------------------------------- + +Images and Toolchains +^^^^^^^^^^^^^^^^^^^^^ + +``__ + +SDK +^^^ + +``__ + +Documentation +^^^^^^^^^^^^^ + +:doc:`../quickstart/index` + +:doc:`../yocto` + +:doc:`../linux/index` + +For other collaterals please refer to the Documentation section for `SL2161x at Synaptics.com `__ +and the `Synaptics Customer Portal `__. + +New Features +============ + +SL2619 New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Support SL2619 | SL2619 | Scarthgap 6.12 v2.0.1 adds support for SL2619. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + +SoC Core Feature Summary +======================== + +This section summarizes the hardware features of Astra Machina SoCs. + +====================================== ========================== +Feature SoC +====================================== ========================== +2D and 3D Graphics with GPU SL2619 +DRM-KMS SL2619 +Multi-standard Video Encoding/Decoding SL2619 +Cortex-M core boot SL2619 +NPU SL2619 +Security for CPU, BOOT, and DRM engine SL2619 +MIPI CSI & ISP SL2619 +====================================== ========================== + +Specific Modules and Features +============================= + ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Feature Modules | Feature Items | SL2619 | Comment | ++====================+=====================================================+=========+====================================================================================================+ +| GST Audio Pipeline | GST Audio Pipeline | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | BT A2DP Audio | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | SW Decoding Capability | Y | - Supported formats: AAC, MP2, MP3, Vobis, AC3, OPUS | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | File Playback | Y |- Supported formats: TS, MP3, MP4, Webm | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | GST Sample Rate Conversion & Mixing | Y | | +| | | | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| GST Video Pipeline | RTSP stream with playback | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Support Wayland Sink Window Dragging with mouse | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Video Decode with 2K Wayland Sink | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | FFMPEG Decode | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | V4L2 Decode | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Video Decode with QT Applications | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| DRM-KMS | Fastlogo with OP-TEE | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | HDMI Hot Plug Detect and Dynamic Resolution Change | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | EDID parsing | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | MIPI, HDMI on Astra Machina boards | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Display | Wayland Display Server | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| V4L2 ISP | Single Sensor V4L2 ISP Driver | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| U-Boot | EMMC HS400 support | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | U-BOOT | Y | `Release Notes | +| | | | `__ | +| | | | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | General peripherals support | Y | - Supports USB2.0 devices | +| | | | - Supports USB3.0 host | +| | | | - Supports Ethernet | +| | | | - Supports SPI Flash | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Boot mode: from eMMC | Y | - Support eMMC HS400 mode | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Boot mode: from SD-CARD | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Image Upgrade | Y | - Supports eMMC image upgrade with SPI U-Boot and SU-Boot | +| | | | | +| | | | - Supports SD card image upgrade with SPI U-Boot and | +| | | | | +| | | | SU-Boot | +| | | | | +| | | | - SPI U-Boot: image via TFTP and USB Host | +| | | | | +| | | | (connected to USB Disk) | +| | | | | +| | | | - SU-Boot: image via TFTP and USB Host | +| | | | | +| | | | (connected to USB Disk) | +| | | | | +| | | | - Supports sparse image slices (Yocto will generate | +| | | | | +| | | | sparse image automatically). | +| | | | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Low Power Standby | N/A | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| OP-TEE | OP-TEE enabled | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| WIFI | WIFI 6 & WIFI 6E | Y | wpa_supplicant 2.11 | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Host AP mode using hostapd | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Bluetooth | Supported | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ + +General Modules, Peripherals, and Interfaces Supported +====================================================== + ++-------------------------------------------------------------------------------------------------------------+ +| General | ++================================+============================================================================+ +| Kernel | Kernel Version 6.12.11 | ++--------------------------------+----------------------------------------------------------------------------+ +| Yocto | Scarthgap: 5.0.9 | ++--------------------------------+----------------------------------------------------------------------------+ +| U-Boot | SPI U-Boot version: v1.1.1 | +| | | +| | USB SU-Boot version: v1.7 | +| | | +| | \*Synaptics U-Boot based on U-Boot 2025.01 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB Tool | N / A | ++--------------------------------+----------------------------------------------------------------------------+ +| OP-TEE | OP-TEE version: 4.5.0 | ++--------------------------------+----------------------------------------------------------------------------+ +| Gstreamer (GST) | GST version: 1.22.12 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP Firmware | version: 6.5.1 | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Memory | ++================================+========+==========+========================================================+ +| Memory - DDR | SL2619 | DDR4 | 2GB 1600 / 3200 Mbps | ++--------------------------------+--------+----------+--------------------------------------------------------+ +| Memory - eMMC | up to 32GB | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| General Peripherals | ++================================+============================================================================+ +| Interrupt | GIC | ++--------------------------------+----------------------------------------------------------------------------+ +| Clock | Controls the system frequency and clock tree distribution | ++--------------------------------+----------------------------------------------------------------------------+ +| Timer | | ++--------------------------------+----------------------------------------------------------------------------+ +| GPIO | GPIO is initialized in earlier phase according to hardware design | ++--------------------------------+----------------------------------------------------------------------------+ +| SDMA | Conforms to the DMA engine framework | ++--------------------------------+----------------------------------------------------------------------------+ +| UART | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 2.0 (OTG) | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 3.0 (Host) | | ++--------------------------------+----------------------------------------------------------------------------+ +| I2C | | ++--------------------------------+----------------------------------------------------------------------------+ +| SPI | | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Network | ++================================+============================================================================+ +| Ethernet | SL2619: 10 / 100 / 1000 Mbps | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Wireless Connectivity | Supports WIFI & BT | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| GPU and Display | ++================================+============================================================================+ +| GPU | * DDK 24.2\@6643903 | +| | | +| | * OpenGL ES 3.2 | +| | | +| | * Mesa 24.0.7 | +| | | +| | * libdrm 2.4.120 | +| | | +| | * Weston 13.0.1 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Direct Rendering Manager (DRM) | | +| | | +| Display | | ++--------------------------------+----------------------------------------------------------------------------+ +| HDMI-TX | Supported on SL2619 (uing MIPI-DSI bridge) | ++--------------------------------+----------------------------------------------------------------------------+ +| MIPI-DSI | | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Camera | ++================================+============================================================================+ +| MIPI-CSI | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP | SL2619 (mini ISP) | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Audio Interfaces | ++================================+============================================================================+ +| PDM | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| SPDIF | None | ++--------------------------------+----------------------------------------------------------------------------+ +| I2S | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ + +Supported Camera Modules +------------------------ + ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| Sensor | Module | Resolution | Interface (Device Tree Overlay if Required) | Notes | ++========+==========================================================================================+=================+======================================================+====================================================+ +| OV5647 | `Arducam 5MP OV5647 Camera Module | 640x480 60fps | MIPI-CSI0 | | +| | `__ | | | | +| | | | | | +| | | 1920x1080 30fps | | | +| | | | | | +| | | 1296x972 30fps | | | +| | | | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ + +Known Issues and Limitations +============================ + +Known Issues +------------ + ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| SL2619 | Module | ID | Summary | ++=========+====================+========+============================================================================================================+ +| Y | Syna Video Player | 36165 | Noise displayed when displaying a camera source. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Audio | 36166 | Always hear noise when playing audion with the 3.5mm jack. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Display (OOBE) | 36140 | The Youtube stream "galaxy timelaspse" playback is not smooth in the Chromium browser. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Fastlogo | 36091 | No fastlogo displayed on HDMI during boot. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Display | 36092 | Output is only 1080p when connected to 4K display. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Linux Kernel | 36098 | Ethernet will randomly not get an IP address when booting. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Bluetooth | 36100 | System hangs when trying to connect to bluetoothd. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Display | 36137 | Error reported when doing ``glmark2-es2-drm`` test. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ + diff --git a/release_notes/scarthgap_6.12_v2.0.2.rst b/release_notes/scarthgap_6.12_v2.0.2.rst new file mode 100644 index 0000000..607c719 --- /dev/null +++ b/release_notes/scarthgap_6.12_v2.0.2.rst @@ -0,0 +1,364 @@ +=================================== +Release Notes Scarthgap 6.12 v2.0.2 +=================================== + +.. highlight:: console + +.. note:: + + Release v2.0.2 only supports SL2619. The latest feature complete release for SL1620, SL1640, + and SL1680 is :doc:`scarthgap_6.12_v2.0.0`. Future releases will support all four platforms. + +Introduction +============ + +Astra™ is Synaptics' new compute platform designed for the IoT market. It features a series of high-performance, +AI-native, multi-modal SoCs optimized for consumer, enterprise, and industrial IoT workloads. These SoCs are +equipped with hardware accelerators for edge inferencing, security, graphics, vision, and audio, and offer +out-of-the-box functionality with Synaptics' connectivity solutions. + +Astra (v2.0.2) GA Release is a unified software development kit supporting the SL-Series of MPUs. + +The high-level components included in this SDK are described below: + + * Upstream Linux Kernel and device tree. + * Low-level Linux device drivers (U-BOOT) for peripheral devices. + * Open source code for Multimedia pipelines. + * Synaptics proprietary security approach. + * Related SDK Documents + +All of these items can be found through Synaptics’ and third parties open source Git repositories on GitHub. + +Yocto SDK +--------- + +The Yocto Project is an open-source collaboration project that provides templates, tools and +methods for custom Linux-based systems for embedded and IoT products. By leveraging the power +of the open-source development community, Synaptics hopes to provide its customers with a wider +array of compatible software packages to build their products faster, with more features, while +at the same time having the stability and support of a large open-source development project. +Additionally, the SDK enables customers who already use a Yocto-based development environment +to migrate to Synaptics class-leading silicon solutions for improved performance and additional +functionality. The Yocto Project offers a vast number of software packages that provide many options. + +Reference Board Supported Scope +------------------------------- + +Below table lists the supported ASTRA reference board (Machina) and supported scope. + +============================ ================================= +SOC / Reference Board Test Validation and Support Scope +============================ ================================= +SL2619 Core board + IO board GA +============================ ================================= + +License +------- + +Using the Astra Software Developer Kit and BSP requires complying with the :doc:`../EULA`. + +Where to get the SDK from GitHub +-------------------------------- + +Images and Toolchains +^^^^^^^^^^^^^^^^^^^^^ + +``__ + +SDK +^^^ + +``__ + +Documentation +^^^^^^^^^^^^^ + +:doc:`../quickstart/index` + +:doc:`../yocto` + +:doc:`../linux/index` + +For other collaterals please refer to the Documentation section for `SL2161x at Synaptics.com `__ +and the `Synaptics Customer Portal `__. + +`Torq Compiler User Guide `__ + + +New Features +============ + +SL2619 New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Gstreamer AI Color Conversion | SL2619 | Add support for AI Color Conversion and Downscaling. | +| and Downscaling | | | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Gstreamer AI Image | SL2619 | Add Gstreamer plugin for image classification. | +| Classification | | | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| KMS Sink | SL2619 | Add Gstreamer support for KMS Sink. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Vulkan | SL2619 | Support the Vulkan API the GPU Software Stack. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| SynaExplorer Image | SL2619 | Add the Image Classification demo to SynaExplorer. | +| Classification | | | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| SynaExplorer Object Detection | SL2619 | Add the Object Detection demo to SynaExplorer. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Python | SL2619 | Include Python 3.12.9. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| xSPI Kernel Support | SL2619 | Enable support for xSPI in the Linux Kernel. | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + + +SoC Core Feature Summary +======================== + +This section summarizes the hardware features of Astra Machina SoCs. + +====================================== ========================== +Feature SoC +====================================== ========================== +2D and 3D Graphics with GPU SL2619 +DRM-KMS SL2619 +Multi-standard Video Encoding/Decoding SL2619 +Cortex-M core boot SL2619 +NPU SL2619 +Security for CPU, BOOT, and DRM engine SL2619 +MIPI CSI & ISP SL2619 +====================================== ========================== + +Specific Modules and Features +============================= + ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Feature Modules | Feature Items | SL2619 | Comment | ++====================+=====================================================+=========+====================================================================================================+ +| GST Audio Pipeline | GST Audio Pipeline | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | BT A2DP Audio | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | SW Decoding Capability | Y | - Supported formats: AAC, MP2, MP3, Vobis, AC3, OPUS | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | File Playback | Y |- Supported formats: TS, MP3, MP4, Webm | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | GST Sample Rate Conversion & Mixing | Y | | +| | | | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| GST Video Pipeline | RTSP stream with playback | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Support Wayland Sink Window Dragging with mouse | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Video Decode with 2K Wayland Sink | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | FFMPEG Decode | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | V4L2 Decode | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Video Decode with QT Applications | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| DRM-KMS | Fastlogo with OP-TEE | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | HDMI Hot Plug Detect and Dynamic Resolution Change | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | EDID parsing | N/A | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | MIPI, HDMI on Astra Machina boards | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Display | Wayland Display Server | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| V4L2 ISP | Single Sensor V4L2 ISP Driver | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| U-Boot | EMMC HS400 support | Y | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | U-BOOT | Y | `Release Notes | +| | | | `__ | +| | | | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | General peripherals support | Y | - Supports USB2.0 devices | +| | | | - Supports USB3.0 host | +| | | | - Supports Ethernet | +| | | | - Supports SPI Flash | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Boot mode: from eMMC | Y | - Support eMMC HS400 mode | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Image Upgrade | Y | - Supports eMMC image upgrade with SPI U-Boot and SU-Boot | +| | | | | +| | | | - SPI U-Boot: image via TFTP and USB Host | +| | | | | +| | | | (connected to USB Disk) | +| | | | | +| | | | - SU-Boot: image via TFTP and USB Host | +| | | | | +| | | | (connected to USB Disk) | +| | | | | +| | | | - Supports sparse image slices (Yocto will generate | +| | | | | +| | | | sparse image automatically). | +| | | | | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Low Power Standby | N/A | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| OP-TEE | OP-TEE enabled | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| WIFI | WIFI 6 & WIFI 6E | Y | wpa_supplicant 2.11 | +| +-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| | Host AP mode using hostapd | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ +| Bluetooth | Supported | Y | | ++--------------------+-----------------------------------------------------+---------+----------------------------------------------------------------------------------------------------+ + +General Modules, Peripherals, and Interfaces Supported +====================================================== + ++-------------------------------------------------------------------------------------------------------------+ +| General | ++================================+============================================================================+ +| Kernel | Kernel Version 6.12.11 | ++--------------------------------+----------------------------------------------------------------------------+ +| Yocto | Scarthgap: 5.0.9 | ++--------------------------------+----------------------------------------------------------------------------+ +| U-Boot | SPI U-Boot version: v1.1.1 | +| | | +| | \*Synaptics U-Boot based on U-Boot 2025.01 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB Tool | N / A | ++--------------------------------+----------------------------------------------------------------------------+ +| OP-TEE | OP-TEE version: 4.5.0 | ++--------------------------------+----------------------------------------------------------------------------+ +| Gstreamer (GST) | GST version: 1.22.12 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP Firmware | version: 6.5.1 | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Memory | ++================================+========+==========+========================================================+ +| Memory - DDR | SL2619 | DDR4 | 2GB 1600 / 3200 Mbps | ++--------------------------------+--------+----------+--------------------------------------------------------+ +| Memory - eMMC | up to 32GB | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| General Peripherals | ++================================+============================================================================+ +| Interrupt | GIC | ++--------------------------------+----------------------------------------------------------------------------+ +| Clock | Controls the system frequency and clock tree distribution | ++--------------------------------+----------------------------------------------------------------------------+ +| Timer | | ++--------------------------------+----------------------------------------------------------------------------+ +| GPIO | GPIO is initialized in earlier phase according to hardware design | ++--------------------------------+----------------------------------------------------------------------------+ +| SDMA | Conforms to the DMA engine framework | ++--------------------------------+----------------------------------------------------------------------------+ +| UART | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 2.0 (OTG) | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 3.0 (Host) | | ++--------------------------------+----------------------------------------------------------------------------+ +| I2C | | ++--------------------------------+----------------------------------------------------------------------------+ +| SPI | | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Network | ++================================+============================================================================+ +| Ethernet | SL2619: 10 / 100 / 1000 Mbps | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Wireless Connectivity | Supports WIFI & BT (using SYN43711 M.2) | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| GPU and Display | ++================================+============================================================================+ +| GPU | * DDK 24.2\@6643903 | +| | | +| | * OpenGL ES 3.2 | +| | | +| | * Mesa 24.0.7 | +| | | +| | * libdrm 2.4.120 | +| | | +| | * Weston 13.0.1 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Direct Rendering Manager (DRM) | | +| | | +| Display | | ++--------------------------------+----------------------------------------------------------------------------+ +| HDMI-TX | Supported on SL2619 (uing MIPI-DSI bridge) | ++--------------------------------+----------------------------------------------------------------------------+ +| MIPI-DSI | Supported on SL1619 (with Waveshare 13.3”, Waveshare 7”, Haier 8” panels) | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Camera | ++================================+============================================================================+ +| MIPI-CSI | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP | SL2619 (mini ISP) | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Audio Interfaces | ++================================+============================================================================+ +| PDM | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| SPDIF | None | ++--------------------------------+----------------------------------------------------------------------------+ +| I2S | SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ + +Supported Camera Modules +------------------------ + ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| Sensor | Module | Resolution | Interface (Device Tree Overlay if Required) | Notes | ++========+==========================================================================================+=================+======================================================+====================================================+ +| OV5647 | `Arducam 5MP OV5647 Camera Module | 640x480 60fps | MIPI-CSI0 | | +| | `__ | | | | +| | | | | | +| | | 1920x1080 30fps | | | +| | | | | | +| | | 1296x972 30fps | | | +| | | | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ + +Known Issues and Limitations +============================ + +Known Issues +------------ + ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| SL2619 | Module | ID | Summary | ++=========+====================+========+============================================================================================================+ +| Y | SynaExplorer Demo | 36471 | Observed Freezing during SynaExplorer Image Classification Demo (CPU only). | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | ISP | 36474 | Observed garbage output while testing the scaling factor using OV5647. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Web RTC demo | 36477 | Web RTC demo website reports an error when viewed using teh QT Browser | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Linux Kernel | 36069 | Failed to mount USB disc from USB2.0 port (Type-C port). | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Fastlogo | 36091 | No fastlogo displayed on HDMI during boot. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Power Management | 36104 | Device fails to wake up after entering low power mode. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Display | 36137 | System reports the error "Error: Failed to restore original CRTC: -2" when running glmark2-es2-drm test. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Display (OOBE) | 36140 | The Youtube stream "galaxy timelaspse" playback is not smooth in the Chromium browser. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Graphics | 36326 | Observed screen tearing / glitch while playing glmark_drm test. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ +| Y | Linux Kernel | 36358 | System performance is slow when dumping RGB sensor output to file. | ++---------+--------------------+--------+------------------------------------------------------------------------------------------------------------+ diff --git a/release_notes/scarthgap_6.12_v2.1.0.rst b/release_notes/scarthgap_6.12_v2.1.0.rst new file mode 100644 index 0000000..84dc3cf --- /dev/null +++ b/release_notes/scarthgap_6.12_v2.1.0.rst @@ -0,0 +1,974 @@ +=================================== +Release Notes Scarthgap 6.12 v2.1.0 +=================================== + +.. highlight:: console + +Introduction +============ + +Astra™ is Synaptics' new compute platform designed for the IoT market. It features a series of high-performance, +AI-native, multi-modal SoCs optimized for consumer, enterprise, and industrial IoT workloads. These SoCs are +equipped with hardware accelerators for edge inferencing, security, graphics, vision, and audio, and offer +out-of-the-box functionality with Synaptics' connectivity solutions. + +Astra (v2.1.0) GA Release is a unified software development kit supporting the SL-Series of MPUs. + +The high-level components included in this SDK are described below: + + * Upstream Linux Kernel and device tree. + * Low-level Linux device drivers (U-BOOT) for peripheral devices. + * Open source code for Multimedia pipelines. + * Synaptics proprietary security approach. + * Related SDK Documents + +All of these items can be found through Synaptics’ and third parties open source Git repositories on GitHub. + +Yocto SDK +--------- + +The Yocto Project is an open-source collaboration project that provides templates, tools and +methods for custom Linux-based systems for embedded and IoT products. By leveraging the power +of the open-source development community, Synaptics hopes to provide its customers with a wider +array of compatible software packages to build their products faster, with more features, while +at the same time having the stability and support of a large open-source development project. +Additionally, the SDK enables customers who already use a Yocto-based development environment +to migrate to Synaptics class-leading silicon solutions for improved performance and additional +functionality. The Yocto Project offers a vast number of software packages that provide many options. + +Reference Board Supported Scope +------------------------------- + +Below table lists the supported ASTRA reference board (Machina) and supported scope. + +============================ ================================= +SOC / Reference Board Test Validation and Support Scope +============================ ================================= +SL1680 Core board + IO board GA +SL1640 Core board + IO board GA +SL1620 Core board + IO board GA +SL2611 Core board + IO board GA +SL2615 Core board + IO board GA +SL2619 Core board + IO board GA +============================ ================================= + +License +------- + +Using the Astra Software Developer Kit and BSP requires complying with the :doc:`../EULA`. + +Synaptics Proprietary TAs +------------------------- + +The following Trusted Applications (TAs) are Synaptics proprietary TAs which run in the OP-TEE Trusted Execution Environment. +They are provided in binary format. Synaptics will migrate them into REE and open source the code to the public in a near future releases. + +======== ========================= +Package Notes +======== ========================= +SyNAP TA + + SL1680 / SL1640 / SL1620 + +======== ========================= + +.. note:: + + The Vmeta TA was open sourced in release v1.6. Source code can be found at + ``__. + +.. note:: + + FastLogo and DHUB TAs were open sourced in release v1.7. + +Where to get the SDK from GitHub +-------------------------------- + +Images and Toolchains +^^^^^^^^^^^^^^^^^^^^^ + +``__ + +SDK +^^^ + +``__ + +Documentation +^^^^^^^^^^^^^ + +:doc:`../quickstart/index` + +:doc:`../hw/index` + +:doc:`../yocto` + +:doc:`../linux/index` + +`SL1620 Product Documentation `__ + +`SL1640 Product Documentation `__ + +`SL1680 Product Documentation `__ + +`SL261x Product Documentation `__ + +For other collaterals please refer to the `Synaptics Customer Portal `__. + +`Torq Compiler User Guide `__ + +New Features +============ + +Common New Features +------------------- + +*No common features were added in this release.* + + +SL1620 New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Touchscreen for 7" display | SL1620, SL1640, SL1680 | Enable touchscreen for Waveshare 7" display | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Disable UART in preboot | SL1620, SL1640, SL1680 | Disable UART log print in MP preboot binary | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Module Power Gating | SL1620, SL1640, SL1680 | Support module power gating configuration | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + + +SL1640 New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Touchscreen for 7" display | SL1620, SL1640, SL1680 | Enable touchscreen for Waveshare 7" display | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Disable UART in preboot | SL1620, SL1640, SL1680 | Disable UART log print in MP preboot binary | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Module Power Gating | SL1620, SL1640, SL1680 | Support module power gating configuration | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Suspend / Resume | SL1640, SL1680 | Support Suspend and Resume | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + + +SL1680 New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Touchscreen for 7" display | SL1620, SL1640, SL1680 | Enable touchscreen for Waveshare 7" display | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Disable UART in preboot | SL1620, SL1640, SL1680 | Disable UART log print in MP preboot binary | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Module Power Gating | SL1620, SL1640, SL1680 | Support module power gating configuration | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Suspend / Resume | SL1640, SL1680 | Support Suspend and Resume | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + +SL261x New Features +------------------- + ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Feature | SoC | Description | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Audio Volume Control | SL2610 | Support controlling volume | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| RTSP IP Camera | SL2610 | Added support for RTSP IP Camera | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| GST Image Classification | SL2610 | Add Gstreamer support for AI Image Classification | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| GST Color Conversion and | SL261- | Add Gstreamer support for AI Color Conversion and Downscaling | +| | | | +| Downscaling | | | +| | | | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| KMS Sink Support | SL2610 | Support KMS Sink for Displays | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Vulkan Support | SL2610 | Support the Vulkan Graphics Library | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| OpenCL Support | SL2610 | Support the OpenCL Graphics Framework | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Waveshare 7" Display | SL2610 | Support the Waveshare 7" Display | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| ISP / QT Test Application | SL2610 | Support Single isp_video_test / QtCamera Applications | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| SL2610 Rev B Board Support | SL2610 | Support the SL2610 Rev B Board | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ +| Power Sensors | SL2610 | Support the Power Sensors on the I/O Board | ++-------------------------------+--------------------------+--------------------------------------------------------------------+ + +SoC Core Feature Summary +======================== + +This section summarizes the hardware features of Astra Machina SoCs. + +====================================== ================================== +Feature SoC +====================================== ================================== +2D and 3D Graphics with GPU SL1620, SL1640, SL1680, and SL2619 +DRM-KMS SL1620, SL1640, SL1680, and SL2619 +Multi-standard Video Encoding/Decoding SL1640, SL1680, and SL2619 +Cortex-M core boot SL1620, SL1640, SL1680, and SL2619 +HIFI4 DSP SL1640 +Security for CPU, BOOT, and DRM engine SL1620, SL1640, SL1680, and SL2619 +MIPI CSI & ISP SL1680 and SL2619 +====================================== ================================== + +Specific Modules and Features +============================= + ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| Feature Modules | Feature Items | SL1620 | SL1640 | SL1680 | SL2611 | SL2615 | SL2619 | Comment | ++====================+=====================================================+=========+=========+=========+=========+=========+=========+===============================================================================================+ +| GST Audio Pipeline | GST Audio Pipeline | Y | Y | Y | N/A | Y | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | BT A2DP Audio | Y | Y | Y | N/A | N/A | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | PDM MIC Support | Y | N/A | N/A | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | SW Decoding Capability | Y | Y | Y | N/A | Y | Y | - Supported formats: AAC, MP2, MP3, Vobis, AC3, OPUS | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | File Playback | Y | Y | Y | N/A | Y | Y | - Supported formats: TS, MP3, MP4, Webm | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | GST Sample Rate Conversion & Mixing | Y | Y | Y | N/A | Y | Y | - Limitation on SL1620 audio mixing. | +| | | | | | | | | Sample Rate conversion is fine. | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | HDMI-RX (Audio) | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Volume Control for USB audio devices | Y | Y | Y | N/A | N/A | Y | Supports volume control of USB audio devices using GPIOs | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| GST Video Pipeline | HDMI Rx Video Path to Display Sink | N/A | N/A | Y | N/A | N/A | N/A | - MultiView: Camera + Video OR multi Video | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+ - Dual display means the output simultaneously | +| | RTSP stream with V4L2 playback | N/A | Y | Y | N/A | Y | Y | - Dual display for SL1680 means HDMI-TX + MIPI-DSI | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+ - Dual display for SL1620 means MIPI-DSI + RGB | +| | Multiview RTSP Playback | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Support Wayland Sink Window Dragging with mouse | Y | Y | Y | N/A | Y | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Multi View | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Video Decode with 2K Wayland Sink | Y | Y | Y | N/A | Y | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | FFMPEG Decode | Y | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | V4L2 Decode | N/A | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Dual Display | Y | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Video Decode with QT Applications | Y | Y | Y | N/A | Y | Y | Multi-playback only on SL1680 | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| GST AI | OpenCV Support | Y | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Multistream AI with RTSP | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | AI support for ISP Camera | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | GST AI Support for GPU models | Y | N/A | N/A | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Pose Estimation | Y | Y | Y | N/A | N/A | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Image Classification | Y | Y | Y | N/A | N/A | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Single View AI use case | Y | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Multi View AI user case | N/A | N/A | Y | N/A | N/A | N/A | - SL1680 supports multi-view AI case | +| | | | | | | | | - SL1640/SL1620/SL261x only supports single view AI case | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Super Resolution AI use case | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Face Recognition use case | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | SR Slideshow | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | SyNAP | Y | Y | Y | N/A | N/A | N/A | - supports SyNAP pre-process and sink | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Torq | N/A | N/A | N/A | N/A | Y | Y | - NPU is optional on SL2615 | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| HDMI-RX | HDMI-RX 4K | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | DHUB TA in OP-TEE | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | HDIM-Rx Video 2K all formats support | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | GST Pipeline Support | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | HDMI-Rx Driver for Video – 2K60 | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | YUYV and NV12 formats as VIP output | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | EDID Support | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | VIP Scalar | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | RGB, YUV444/422/420 – 12/10/8 bit input | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Gstreamer v4l2src pipeline to Display | N/A | N/A | Y | N/A | N/A | N/A | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| DRM-KMS | Fastlogo with OP-TEE | Y | Y | Y | N/A | N/A | N/A | Supports both HDMI and MIPI | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | HDMI Hot Plug Detect and Dynamic Resolution Change | N/A | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | EDID parsing | N/A | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | MIPI, HDMI on Astra Machina boards | Y | Y | Y | N/A | Y | Y | - SL1620 /SL1640 supports either HDMI or MIPI output. | +| | | | | | | | | | +| | | | | | | | | - SL1680 supports HDMI and MIPI simultaneously. | +| | | | | | | | | | +| | | | | | | | | Default is HDMI, can be changes to MIPI via DTS | +| | | | | | | | | | +| | | | | | | | | - SL2611 has no display, SL2615 MIPI DSI is optional | +| | | | | | | | | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| Display | Wayland Display Server | Y | Y | Y | N/A | Y | Y | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| V4L2 ISP | Dual / Single Sensor V4L2 ISP Driver | N/A | N/A | Y | N/A | N/A | Y | - ISP feature is only for SL1680 | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+ | +| | Support for 4K input and output | N/A | N/A | Y | N/A | N/A | N/A | - Known limitation of Downscaling of inputs: YUV420 SP 10bit and RGB 888 | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+ | +| | Support for downscaling of the inputs | N/A | N/A | Y | N/A | N/A | N/A | - SL2619 ISP is single sensor only | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Support cropping in ISP down scaler | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Supports Bayer and RGB formats | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Support Simultaneous Path Playback w/ Single Sensor | N/A | N/A | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Direct Sensor(MCM) output for ISP bypass | N/A | N/A | Y | N/A | N/A | N/A | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| U-Boot | EMMC HS400 support | Y | Y | Y | Y | Y | Y | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | SL1620 1G DDR4 x 16 support | Y | N/A | N/A | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | DVFS Support | Y | Y | Y | N/A | N/A | N/A | VCPU DVFS can be supported on SL1620/SL1640/SL1680 | +| | | | | | | | | | +| | | | | | | | | VCORE DVFS is only supported on SL1640 | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | U-BOOT | Y | Y | Y | Y | Y | Y | `Release Notes | +| | | | | | | | | `__ | +| | | | | | | | | | +| | | | | | | | | `Release Notes for SL261x | +| | | | | | | | | `__ | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | General peripherals support | Y | Y | Y | Y | Y | Y | - Supports USB2.0 devices | +| | | | | | | | | - Supports USB3.0 host | +| | | | | | | | | - Supports Ethernet (SL16x0 and SL2619 only) | +| | | | | | | | | - Supports SPI Flash | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Boot mode: from eMMC | Y | Y | Y | Y | Y | Y | - Support eMMC HS400 mode | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Boot mode: from SD-CARD | Y | Y | Y | N/A | N/A | N/A | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Image Upgrade | Y | Y | Y | Y | Y | Y | - Supports eMMC image upgrade with USB U-Boot, | +| | | | | | | | | | +| | | | | | | | | SPI U-Boot and SU-Boot | +| | | | | | | | | | +| | | | | | | | | - Supports SD card image upgrade with SPI U-Boot and | +| | | | | | | | | | +| | | | | | | | | SU-Boot | +| | | | | | | | | | +| | | | | | | | | - USB U-Boot: image via TFTP and USB target | +| | | | | | | | | | +| | | | | | | | | (connected to PC) (SL16x0 only) | +| | | | | | | | | | +| | | | | | | | | - SPI U-Boot: image via TFTP and USB Host | +| | | | | | | | | | +| | | | | | | | | (connected to USB Disk) | +| | | | | | | | | | +| | | | | | | | | - SU-Boot: image via TFTP and USB Host | +| | | | | | | | | | +| | | | | | | | | (connected to USB Disk) | +| | | | | | | | | | +| | | | | | | | | - Supports sparse image slices (Yocto will generate | +| | | | | | | | | | +| | | | | | | | | sparse image automatically). | +| | | | | | | | | | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Low Power Standby | N/A | Y | Y | N/A | N/A | N/A | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| OP-TEE | OP-TEE enabled | Y | Y | Y | Y | Y | Y | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| WIFI | WIFI 6 & WIFI 6E | Y | Y | Y | Y | Y | Y | wpa_supplicant 2.11 | +| +-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| | Host AP mode using hostapd | Y | Y | Y | Y | Y | Y | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ +| Bluetooth | Supported | Y | Y | Y | N/A | N/A | Y | | ++--------------------+-----------------------------------------------------+---------+---------+---------+---------+---------+---------+-----------------------------------------------------------------------------------------------+ + +General Modules, Peripherals, and Interfaces Supported +====================================================== + ++-------------------------------------------------------------------------------------------------------------+ +| General | ++================================+============================================================================+ +| Kernel | Kernel Version 6.12.11 | ++--------------------------------+----------------------------------------------------------------------------+ +| Yocto | Scarthgap: 5.0.9 | ++--------------------------------+----------------------------------------------------------------------------+ +| U-Boot | SPI U-Boot version: v1.1.1 | +| | | +| | USB SU-Boot version: v1.7 (SL16x0 only) | +| | | +| | \*Synaptics U-Boot based on U-Boot 2025.01 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB Tool | astra-update: 1.0.5 (SL16x0 only) | ++--------------------------------+----------------------------------------------------------------------------+ +| OP-TEE | OP-TEE version: 4.5.0 | ++--------------------------------+----------------------------------------------------------------------------+ +| Gstreamer (GST) | GST version: 1.22.12 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP Firmware | version: 6.5.1 | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Memory | ++================================+========+==========+========================================================+ +| Memory - DDR | SL1620 | DDR3 | 1GB 1866 Mbps | +| | | +--------------------------------------------------------+ +| | | | 2GB 1866 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 1866 Mbps | +| | +----------+--------------------------------------------------------+ +| | | DDR4 | 1GB 2133 Mbps | +| | | +--------------------------------------------------------+ +| | | | 2GB 2133 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 2133 Mbps | +| | +----------+--------------------------------------------------------+ +| | | DDR4x16 | 1GB 2133 Mbps | +| | | +--------------------------------------------------------+ +| | | | 2GB 2133 Mbps | +| +--------+----------+--------------------------------------------------------+ +| | SL1640 | DDR4 | 1GB 3200 Mbps | +| | | +--------------------------------------------------------+ +| | | | 2GB 2400 / 2666 / 3200 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 3200 Mbps | +| | +----------+--------------------------------------------------------+ +| | | DDRx16 | 1GB 3200 Mbps | +| | | +--------------------------------------------------------+ +| | | | 2GB 3200 Mbps | +| | +----------+--------------------------------------------------------+ +| | | LPDDR4 | 2GB 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 3GB 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 3733 Mbps | +| | +----------+--------------------------------------------------------+ +| | | LPDDR4x | 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 3GB 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 3733 Mbps | +| +--------+----------+--------------------------------------------------------+ +| | SL1680 | LPDDR4 | 2GB 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 3GB 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 3733 Mbps | +| | +----------+--------------------------------------------------------+ +| | | LPDDR4x | 2GB 3200 / 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 3GB 3200 / 3733 Mbps | +| | | +--------------------------------------------------------+ +| | | | 4GB 3733 Mbps | +| +--------+----------+--------------------------------------------------------+ +| | SL261x | DDR4 | 2GB 1600 / 3200 Mbps | ++--------------------------------+--------+----------+--------------------------------------------------------+ +| Memory - eMMC | up to 32GB | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| General Peripherals | ++================================+============================================================================+ +| Interrupt | GIC | ++--------------------------------+----------------------------------------------------------------------------+ +| Clock | Controls the system frequency and clock tree distribution | ++--------------------------------+----------------------------------------------------------------------------+ +| Timer | | ++--------------------------------+----------------------------------------------------------------------------+ +| GPIO | GPIO is initialized in earlier phase according to hardware design | ++--------------------------------+----------------------------------------------------------------------------+ +| SDMA | Conforms to the DMA engine framework | ++--------------------------------+----------------------------------------------------------------------------+ +| UART | | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 2.0 (OTG) | SL16x0 Only | ++--------------------------------+----------------------------------------------------------------------------+ +| USB 3.0 (Host) | | ++--------------------------------+----------------------------------------------------------------------------+ +| I2C | | ++--------------------------------+----------------------------------------------------------------------------+ +| SPI | | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Network | ++================================+============================================================================+ +| Ethernet | SL1620: 10 / 100 / 1000 Mbps | +| | | +| | SL1640: 10 / 100 Mbps | +| | | +| | SL1680: 10 /100 / 1000 Mbps | +| | | +| | SL261x: 10 / 100 / 1000 Mbps | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Wireless Connectivity | Supports WIFI & BT | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| GPU and Display | ++================================+============================================================================+ +| GPU | * DDK 24.2\@6643903 | +| | | +| | * OpenGL ES 3.2 | +| | | +| | * Mesa 24.0.7 | +| | | +| | * libdrm 2.4.120 | +| | | +| | * Weston 13.0.1 | +| | | ++--------------------------------+----------------------------------------------------------------------------+ +| Direct Rendering Manager (DRM) | | +| | | +| Display | | ++--------------------------------+----------------------------------------------------------------------------+ +| RGB Parallel Output | Supported on SL1620 | ++--------------------------------+----------------------------------------------------------------------------+ +| HDMI-TX | Supported on SL1620/SL1640/SL1680/SL2615/SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| HDMI-RX | Supported on SL1680 | ++--------------------------------+----------------------------------------------------------------------------+ +| MIPI-DSI | SL1680/SL1640/SL1620. On SL1640 it needs to be enabled via DTS | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Camera | ++================================+============================================================================+ +| MIPI-CSI | SL1680 and SL2619 | ++--------------------------------+----------------------------------------------------------------------------+ +| ISP | SL1680 and SL2619 (mini ISP) | ++--------------------------------+----------------------------------------------------------------------------+ + ++-------------------------------------------------------------------------------------------------------------+ +| Audio Interfaces | ++================================+============================================================================+ +| PDM | SL1620 and SL261x | ++--------------------------------+----------------------------------------------------------------------------+ +| SPDIF | None | ++--------------------------------+----------------------------------------------------------------------------+ +| I2S | SL1620, SL1640, SL1680, SL261x | ++--------------------------------+----------------------------------------------------------------------------+ + +Supported Camera Modules for SL1680 +----------------------------------- + ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| Sensor | Module | Resolution | Interface (Device Tree Overlay if Required) | Notes | ++========+==========================================================================================+=================+======================================================+====================================================+ +| IMX258 | Synaptics IMX258 Camera Module | 3840x2160 30fps | MIPI-CSI 0 w/ dolphin-csi0-with-expander.dtbo | Synaptics SL1680 MIPI CSI Adaptor Board Required | +| | | (mode 0) | | | +| | | | | | +| | | 1920x1080 30fps | | | +| | | (mode 1) | | | +| | | | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| IMX415 | Synaptics IMX415 Camera Module | 3840x2160 30fps | MIPI-CSI 0 w/ dolphin-csi0-with-expander.dtbo | Synaptics SL1680 MIPI CSI Adaptor Board Required | +| | | (mode 0) | | | +| | | | | | +| | | 1920x1080 30fps | | | +| | | (mode 1) | | | +| | | | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| OV5647 | `Arducam 5MP OV5647 Camera Module | 640x480 60fps | MIPI-CSI0 | 1920x1080 30fps output is non-calibrated | +| | `__ | (mode 0) | | | +| | | +------------------------------------------------------+ | +| | | 1920x1080 30fps | MIPI-CSI 1 w/ dolphin-csi1-without-expander.dtbo | | +| | | (mode 1) | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| IMX477 | `Raspberry Pi High Quality Camera | 3840x2160 30fps | MIPI-CSI0 | Single Sensor Support Only | +| | `__ | (mode 0) +------------------------------------------------------+ | +| | | | MIPI-CSI 1 w/ dolphin-csi1-without-expander.dtbo | 3840x2160 30fps output is non-calibrated | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ + +Supported Camera Modules for SL2619 +----------------------------------- + ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ +| Sensor | Module | Resolution | Interface (Device Tree Overlay if Required) | Notes | ++========+==========================================================================================+=================+======================================================+====================================================+ +| OV5647 | `Arducam 5MP OV5647 Camera Module | 640x480 60fps | MIPI-CSI0 | | +| | `__ | | | | +| | | | | | +| | | 1920x1080 30fps | | | +| | | | | | +| | | 1296x972 30fps | | | +| | | | | | ++--------+------------------------------------------------------------------------------------------+-----------------+------------------------------------------------------+----------------------------------------------------+ + +Known Issues and Limitations +============================ + +.. note:: + + Versions of U-Boot included in the Astra SDK v0.9.0 release are not compatible with Astra SDK releases v1.0 or later. + Please ensure that you are using `USB Tool v1.0 `__ or later + when flashing using USB. Or U-Boot `v1.0.0 `__ + or later when updating with internal SPI flash. See :ref:`flash_internal_spi` for instructions on updating the + internal SPI flash. + +.. note:: + + U-Boot version v1.1.0 improves emmc flash times significantly. We recommend updating to U-Boot v1.1.0 to benefit from these + improvements. + +.. note:: + + SD Boot with release v1.3 and later requires updating to U-Boot `v1.1.1 `__ + or later. See :ref:`flash_internal_spi` for instructions on updating the internal SPI flash. + +.. note:: + + In Astra v1.3, the default display output for the SL1620 is set to HDMI via a DSI-to-HDMI conversion. Starting with Astra v1.4, + the onboard DSI-to-HDMI converter for the SL1620 Rev D core module has been enabled. For older core modules, an external + DSI-to-HDMI adapter board is required. The default display output can be switched to MIPI by following the instructions provided + in the User Guides. :doc:`../subject/haier_panel_configuration` and :doc:`../subject/waveshare_dsi-configuration`. + +.. note:: + + In Astra v1.4, the default MIPI display on SL1680 was changed to the Waveshare 7" Panel. + +.. note:: + + In Astra v1.4, ISP IOMMU only supports the NV12 format. When using RGB888 format, set the v4l2src parameters ``extra-controls="c,mmu_enable=0"`` + to disable IOMMU. + +.. note:: + + In Astra v1.5, the rootfs partition sizes increased to accommodate the extra packages in the OOBE images. This interferes with OTA since SWUpdate + expects the rootfs partition size to be the same. To perform OTA on a system with v1.4 installed, please build an image using `v1.4's partition + sizes `__. (See :doc:`../subject/emmc_layout_customization`) + +.. note:: + + Network Manager can be supported in Astra 1.7, but it's disabled by default as there are some stability issues found. + If needed, Network Manager can be enabled. Please, contact the Synaptics Astra support team for more information. + +Known Issues +------------ + ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| SL1620 | SL1640 | SL1680 | SL2611 | SL2615 | SL2619 | Module | ID | Summary | ++=========+==========+==========+=========+==========+==========+=====================+========+=====================================================================================+ +| Y | N/A | N/A | N/A | N/A | N/A | Graphics | 36678 | Observed slight distrotion / blur in background when dragging window on top of | +| | | | | | | | | another window on Weston. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Graphics | 36683 | Maximizing OpenCV Window results in a fatal error. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | SynaDash (OOBE) | 36682 | SynaDash player throws "Invalid File" error when using a URL as a source. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Display (MIPI-DSI) | 36695 | Panel not detected error reported when using MIPI-DSI panels. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | SynaExplorer (OOBE) | 36681 | "Getting Started" Video fails to play in SynaExplorer. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | OpenCV | 36686 | Clicking Close button in OpenCV window results in another Window being opened. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 36680 | H.264 HEAAC file playing faster than normal. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35025 | No audio when playing WEBM VP8 file using playbin gstreamer plugin. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | Y | Y | N/A | N/A | N/A | Linux Kernel | 35126 | Framebuffer Console is unresponsive. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Power Management | 35192 | HDMI display shows garbage when doing Suspend / Resume. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Audio | 35219 | Audio is recorded at 0.75x speed when using arecord to record DMIC input at 44KHz. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | BT and WiFi | 35662 | No WiFi of Bluetooth observed in Settings. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35803 | Freezes and gray screen observed during FFMPEG decoding test with IP camera. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Audio | 35805 | Observed corrupted files while recording DMIC cases with 32bit / 24bit / 16bit PCM | +| | | | | | | | | | +| | | | | | | | | with AAC content. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35807 | Gstreamer error when recording with the DMIC. "could not link audioconvert0 to | +| | | | | | | | | avenc_mp2-0" | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Graphics | 35817 | New windows open in the backgraound when not in fullscreen mode. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Display | 35982 | SynaVideoPlayer UI is not correctly aligned. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35990 | Error displayed when recording with a USB mic. | +| | | | | | | | | | +| | | | | | | | | "WARNING: erroneous pipeline: could not link audioconvert0 to avenc_mp2-0" | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | OOBE | 35994 | GFX Demo app UI goes to background when opening. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Audio | 35995 | Observed corrupted files while recording USB mic cases with 8KHz / 16KHz / 44KHz | +| | | | | | | | | | +| | | | | | | | | / 48KHz with AAC content. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35997 | Observed stuck video while testing RTSP decodebin H264 Case. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Bluetooth | 36026 | Observed noise when playing sound with BT Headphones with BT SCO. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Display | 36562 | TFT panel shows incorrect back output. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | N/A | N/A | N/A | N/A | N/A | Display | 36569 | Weston crashes randomly when stopping or starting. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Audio | 36685 | Failed to adjust volume with USB Headset. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | N/A | N/A | N/A | N/A | Gstreamer Pipeline | 35002 | Observed horizontal lines during the playback when using KMS sink while playing | +| | | | | | | | | some streams. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Display | 35004 | Last frame retained after playback stops when using KMS sink. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | Y | Y | N/A | N/A | N/A | Linux Kernel | 35126 | Framebuffer Console is unresponsive. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | OOBE | 35535 | Error "docker-compose: command not found" when testing Frigate NVR. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Display | 35749 | Observed video has slight frame drop when playing VP9 encoded video at 3840x2026 | +| | | | | | | | | | +| | | | | | | | | and vorbis audio track. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35944 | Video does not play smoothly when running the multi display "glvideomixerelement" | +| | | | | | | | | testcase. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Bluetooth | 36580 | Recording and playing back BT SCO audio results in a crash during playback. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 36679 | Observed error "VIDIOC_QUERYBUF failed: Invalid argument" while checking SP2 and MP | +| | | | | | | | | | +| | | | | | | | | path when IOMMU is disabled. (IMX415, IMX258, IMX477, OV5647) | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Power Management | 36676 | Grabage and Stutter displayef after suspend / resume using OV5647 CSI0 at 1080p. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Power Management | 36674 | Gstreamer command failed after suspend / resume when using IMX477 CSI0 / CSI1. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Linux Kernel | 36687 | ADB devices on USB 2.0 port stop working after Hotplugging a USB stick. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Power Management | 33696 | After entering into low power standby, the behavior for SL1640 and SL1680 is | +| | | | | | | | | different. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 34457 | Observed tearing at the bottom of the screen when testing V4L2 scaler to downscale | +| | | | | | | | | IMX258 NV12_INPUT. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 34751 | ISP sends wrong frams for the initial frams with IOMMU enabled. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 34950 | Output shows green and noise artifacts when testing OV5647 sensor. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 34987 | Skipped frames and black and white ghosting output observed when dummping output to | +| | | | | | | | | file when IOMMU enabled. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35003 | Observed a green flash at the beginning when using KMS Sink to display some streams.| ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35005 | Randomly observed screen garbage when using playbin / raw commands to decode some | +| | | | | | | | | streams. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35147 | Observed video garbage during the first few seconds (about 5s) when testing | +| | | | | | | | | | +| | | | | | | | | 640x360@30_H.264 IP camera v4l2 decoding. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35288 | Video shakes when playing 4 videos using Syna Video Player with V4L2 decoding. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35488 | Observed video stutter when test Multi-Ai 4x1080p30. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35493 | Dual display with KMS sink with one display and Weston UI on another does not work. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35494 | Main panel shows abnormal colors (stripes) when testing YUYV / YVYU formats. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35497 | Video output shows garbage when using KMS sink to display HDMI-RX testcases. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35498 | GFX output is incomplete when doing dual display mode teating with 4K TV. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35502 | Channel mapping is wrong when testing audio with QD980 4K30 RGB at 1080p30Hz | +| | | | | | | | | | +| | | | | | | | | with NV12 & 48k, S32_LE,8 channel using alsasink. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35503 | Frames pushed to the MAIN pane's size is incorrect on a 4K TV when mode set to 4K. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35504 | Frames dropped when using raw / playbin commands to decode 2K\@59.94 H.265 streams | +| | | | | | | | | | +| | | | | | | | | with Wayland sink on a 1080p TV. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35506 | GFX and PIP plane show no output when doing mode test with GFX 4K resolution. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35507 | Audio glitch can be heard when testing UYVY format with HDMI-RX playback and dump. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35508 | Cannot verify scaling when performing mode testing due to missing sysfs file | +| | | | | | | | | dispwin. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35511 | HDMI-RX output is displayed partially on HDMI and MIPI displays when doing HDMI-TX | +| | | | | | | | | | +| | | | | | | | | hotplug testing. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | WiFi | 35520 | Can get the IP Address of wlan0 even if WiFi is turned off. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35592 | ROI does not work when test AE / AWB with ISP camera. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35610 | The resolution width is shown as half the actual with when setting resolution | +| | | | | | | | | | +| | | | | | | | | using the ``hrx-monitor-tool`` with color space YCBCR 4:2:0. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35742 | Randomly, stream playback will fail when testing AudioMixer with Sample Rates of | +| | | | | | | | | | +| | | | | | | | | 48.0 kHz and 44.1 kHz using a USB speaker. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Display | 35749 | Observed video has slight frame drop when playing VP9 encoded video at 3840x2026 | +| | | | | | | | | | +| | | | | | | | | and vorbis audio track. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35767 | Using FFMPEG V4L2 to encode YUV420p to H.264 into an MP4 container resulted in | +| | | | | | | | | garbage on the left side of the stream. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35770 | Garbage flashes on screen at the begining of test using IMX415 with MAIN and SP2 | +| | | | | | | | | paths. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35775 | IMX415 video stream flashes continuously when testing in dark environments. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35792 | Display shows excessive green when testing OV5647 sensor with 1080P output. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35797 | Display shows excessive blue when testing IMX477 with CSI-0 and CSI-1 port. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35802 | Observed corrupted output when recording AAC 44.1 / 8 / 16 / 48 KHz 16bit PCM | +| | | | | | | | | using a USB mic. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 35815 | Display shows excessive purple when testing IMX477 in dark environments. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| Y | Y | Y | N/A | N/A | N/A | Linux Kernel | 35871 | Failed to set CPU thermal alert due to missing sysfs file ``trip_point_0_temp``. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35900 | No audio when playing VP8 + VORBIS stream after playing a AV1 + Opus stream. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35908 | Pushing frame using modetest to the PIP plane results in a black screen when using | +| | | | | | | | | | +| | | | | | | | | the Waveshare 7" MIPI panel. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35912 | Weston dual display application control can not work. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Syna AI Player | 35953 | Video stutter observed when doing multi-stream AI detection with RTSP cameras. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35959 | Video randomly shows garbage when using glvideomixerelement / synacompositor to do | +| | | | | | | | | multiple stream decode. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 35965 | Met error print during HDMI-RX audio playback. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35966 | Waveshare 7.1 inch MIPI panel screen shaking when disable / enable Weston service. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 35967 | A purple screen flashes when stopping using modetest to push frames to the PIP plane| +| | | | | | | | | | +| | | | | | | | | when using a Waveshare 7" MIPI panel. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Syna Dash Player | 35969 | Video does not play until user moves the mouse after clicking the play button in | +| | | | | | | | | | +| | | | | | | | | the SynaDashPlayer app. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | WiFi | 35986 | Destination unreachable when pinging www.google.com on IPV6 network. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 35988 | Video is not smooth when testinng Super Resolution with a USB camera an the | +| | | | | | | | | | +| | | | | | | | | sr_qdeo_y_uv_640x360_1920x1080 model. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display (MIPI-DSI) | 36282 | Observed jitter on Waveshare 7" panel during first boot after switching to the | +| | | | | | | | | panel. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 36339 | Audio noise observed after removing HDMI-RX cable during HDMI-RX hotplug testing. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Display | 36372 | Black screen persists for 7 seconds between fastlogo and Weston UI. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Power Management | 36374 | Lowe power standby fails after testing suspend and resume. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Gstreamer Pipeline | 36429 | The size and position of the Super Resolution window changes randomly when clicking | +| | | | | | | | | | +| | | | | | | | | "Super Resolution Enable / Disable". | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | HDMI-RX | 36432 | Error reported when performing HDMI-TX hotplug testing with an HDMI-RX source. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | SyNAP | 36494 | MISMATCH error reported when performing the SyNAP offline test with the | +| | | | | | | | | | +| | | | | | | | | arcface_quant model. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | ISP | 36559 | Flash observed at begining to test using IMX258 sensor with Synapinfer and | +| | | | | | | | | | +| | | | | | | | | Synapoverlay Gstreamer Plugins. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | Y | Y | N/A | N/A | N/A | Bluetooth | 36580 | Error reported and playback of recorded file failed with BT SCO. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | Y | N/A | N/A | N/A | Syna Dash Player | 36587 | Playback window will not exit until the user moves the mouse after clicking the | +| | | | | | | | | | +| | | | | | | | | close button in the SynaDashPlayer app. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | N/A | N/A | Gstreamer Pipeline | 36705 | Gstreamer Pipeline not enabled for SL2611. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | Y | N/A | Bluetooth | 36708 | Bluetoothctl is not working. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | N/A | N/A | OpenCV | 36707 | OpenCV is not enabled on SL2611. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | N/A | Y | Audio | 36688 | Observed no audio or erroneous output when playing WAV file with ``aplay``. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | Y | Y | Audio | 36713 | Audio volume control does not work for USB audio devices. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | Y | Y | Linux Kernel | 36069 |Failed to mount USB disc from USB2.0 port ( Type-C port). | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | Y | N/A | Linux Kernel | 36701 | Ethernet interface is not available. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | Y | N/A | N/A | Audio | 36703 | I2S2 audio interface is not enabled. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | OpenCV | 36712 | OpenCV textoverlay is not available in Sl2615 and SL2619. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | Gstreamer Pipeline | 36710 | Observed video stutter while doing Object Detection with Yolo-V8. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | Display | 36091 | No fastlogo displayed on HDMI during boot. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | Display (OOBE) | 36140 | The Youtube stream "galaxy timelaspse" playback is not smooth in the Chromium | +| | | | | | | | | browser. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | Power Management | 36296 | Suspend to RAM did not work. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | SynaExplorer Demo | 36471 | Observed Freezing during SynaExplorer Image Classification Demo (CPU only). | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | SynaExplorer Demo | 36665 | NPU load is not displayed when doing image classification with the NPU. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | Y | Y | Display | 36698 | Observed Gray screen on HDMI output while rebooting the board. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | ISP | 36709 | QT Camera option is not available in the OOBE profile. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | ISP | 36711 | Observed an empty file while testing dumping RGB24 data. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | Display | 36137 | System reports the error "Error: Failed to restore original CRTC: -2" when running | +| | | | | | | | | | +| | | | | | | | | glmark2-es2-drm test. | +| | | | | | | | | | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | Display (MIPI-DSI) | 36697 | Waveshare 13.3" panel is not detected. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | OOBE | 36699 | Symbol lookup error when testinf WebRTC with QTBrowser and Chromium. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ +| N/A | N/A | N/A | N/A | N/A | Y | Gstreamer Pipeline | 36700 | Observed stutter issue while doing H.264 video decoding. | ++---------+----------+----------+---------+----------+----------+---------------------+--------+-------------------------------------------------------------------------------------+ diff --git a/subject/haier_panel_configuration.rst b/subject/haier_panel_configuration.rst index d1e7e51..e07ae20 100644 --- a/subject/haier_panel_configuration.rst +++ b/subject/haier_panel_configuration.rst @@ -37,10 +37,10 @@ Software Configuration The Haier panel can be enabled by setting the ``dtbo`` variable, in U-Boot, to the correct device tree overlay. -+-----------------+--------------------------------+-----------------------------------+----------------------------------+ -| | SL1620 | SL1640 | SL1680 | -+-----------------+--------------------------------+-----------------------------------+----------------------------------+ -| DTS Overlay | myna2-haier-panel-overlay.dtbo | platypus-haier-panel-overlay.dtbo | dolphin-haier-panel-overlay.dtbo | -+-----------------+--------------------------------+-----------------------------------+----------------------------------+ ++-----------------+--------------------------------+-----------------------------------+----------------------------------+----------------------------------+ +| | SL1620 | SL1640 | SL1680 | SL2619 | ++=================+================================+===================================+==================================+==================================+ +| DTS Overlay | myna2-haier-panel-overlay.dtbo | platypus-haier-panel-overlay.dtbo | dolphin-haier-panel-overlay.dtbo | sl2619-haier-panel-overlay.dtbo | ++-----------------+--------------------------------+-----------------------------------+----------------------------------+----------------------------------+ See :ref:`devicetree_overlays` for details on how to enable the devicetree overlays. \ No newline at end of file diff --git a/subject/index.rst b/subject/index.rst index ef846ca..230540e 100644 --- a/subject/index.rst +++ b/subject/index.rst @@ -15,6 +15,7 @@ Subject Specific User Guides isp_sensor_integration updating_isp_sensor_configuration gpios + otp_guide mp_flow_user_guide fastlogo_image_generation uboot_fastlogo_configuration @@ -55,6 +56,8 @@ The following guides provide additional details on a specific subject or module. - :doc:`gpios` +- :doc:`otp_guide` + - :doc:`mp_flow_user_guide` - :doc:`fastlogo_image_generation` diff --git a/subject/isp_sensor_integration.rst b/subject/isp_sensor_integration.rst index 3faa848..fb45cb9 100644 --- a/subject/isp_sensor_integration.rst +++ b/subject/isp_sensor_integration.rst @@ -5,7 +5,17 @@ ISP Sensor Integration Guide Introduction ============ -This document provides steps to add a new sensor driver to the SL1680. The sensor driver shall be implemented as per Application Programming Interface (API) of the Verisilicon ISP Independent Sensor Interface (ISI) framework. For more details, refer to ISI documentation. +This document explains how to add a new sensor driver to the SL1680 and SL2610 platforms. Since the integration process differs between the two, refer to the appropriate section below. + +:ref:`sensor_sl1680` + +:ref:`sensor_sl2610` + +.. _sensor_sl1680: + +Sensor Integration on SL1680 +---------------------------- +The sensor driver shall be implemented as per Application Programming Interface (API) of the Verisilicon ISP Independent Sensor Interface (ISI) framework. For more details, refer to ISI documentation. Configuration @@ -49,4 +59,52 @@ Edit ``meta-synaptics/recipes-devtools/synasdk/files/isp_media_server.sh`` with devtool build synasdk-v4l2isp-sensordrv devtool build linux-syna - devtool build-image astra-media \ No newline at end of file + devtool build-image astra-media + +.. _sensor_sl2610: + +Sensor Integration on SL2610 +---------------------------- +Any **CSI-compatible sensor** that already includes a **V4L2 subdevice driver** can be integrated directly. +If a V4L2 subdevice driver is not available, you can refer to the *ov5647.c* implementation from the Linux mainline kernel as a guide to create one. + +Make sure to enable the sensor driver as a **module** in the ``sl261x_defconfig`` + +Device Tree Changes +====================== +``sl2619-rdk.dts`` file should be changed to match the new sensor specific data. CSI is connected to I2C-0. Therefore, change the ``i2c0`` device tree node, as explained below. + +:: + + &i2c0 { + cam_node: ov5647@36 { + compatible = "ovti,ov5647"; + reg = <0x36>; + status = "okay"; + + pwdn-gpios = <&expander1 4 GPIO_ACTIVE_LOW>; + clocks = <&osc>; + + port { + cam_endpoint: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + clock-noncontinuous; + remote-endpoint = <&csi_input>; + }; + }; + }; + }; + +Update the ``cam_node`` to use the new sensor's ``compatible`` string and ``reg`` value (I2C slave address). Also adjust the ``clocks`` property to reflect the correct clock source for the sensor. + +The ``port`` node defines the data path. The ``remote-endpoint`` specifies that sensor data enters the CSI driver through the ``csi_input`` port of the CSI node. This does not need to be modified. + +However, properties such as ``clock-lanes``, ``data-lanes``, and ``clock-noncontinuous`` may need to be updated depending on the sensor, as these values vary between different devices. + +Expected Result +--------------- + +Correct sensor integration is confirmed if the ``media-ctl -p`` command shows an entry similar to this: + +.. figure:: media/media_ctl_output.png diff --git a/subject/media/media_ctl_output.png b/subject/media/media_ctl_output.png new file mode 100644 index 0000000..4650064 Binary files /dev/null and b/subject/media/media_ctl_output.png differ diff --git a/subject/mp_flow_user_guide.rst b/subject/mp_flow_user_guide.rst index a52a4e4..0d2842b 100644 --- a/subject/mp_flow_user_guide.rst +++ b/subject/mp_flow_user_guide.rst @@ -2,11 +2,15 @@ Astra MP Flow User Guide ======================== +.. contents:: + :depth: 3 + Introduction ============ -This guide provides detailed instructions for configuring, generating, and flashing keys into the One-Time Programmable Memory (OTP) for Astra Machina in production environments. +This guide provides detailed instructions for configuring, generating, and flashing keys into the One-Time +Programmable Memory (OTP) for Astra Machina in production environments. System Requirements =================== @@ -18,32 +22,46 @@ System Requirements Definitions =========== -- syna-release SDK: A software development kit from Synaptics used to build normal eMMC images and USB Boot Linux Image Packs. +- syna-release SDK: A software development kit from Synaptics used to build normal eMMC images and USB Boot + Linux Image Packs. - normal_eMMCimg: It's an eMMC image built from the syna-release SDK. -- production_eMMCimg: It's an eMMCimg, REE images have been to set the production_image_flag = 1. This image only can be run on the production boards (secure boot actived). +- production_eMMCimg: It's an eMMCimg, REE images have been to set the production_image_flag = 1. This image + only can be run on the production boards (secure boot actived). - usb_tool: It's a toolset designed for use on a PC, enabling booting of the Astra board via USB. -- factory_tool: It's post-processing tool in syna-release SDK that using to generate secure keys, OTP layouts, production eMMCimg and resign "USB Boot Linux Image Pack" REE images. +- factory_tool: It's post-processing tool in syna-release SDK that using to generate secure keys, OTP layouts, + production eMMCimg and resign "USB Boot Linux Image Pack" REE images. Tools can be found in the `Factory repository `__ at -``factory/scripts/[platypus/dolphin/myna2/]/factory``. ``platypus``: SL1640, ``dolphin``: SL1680, ``myna2``: SL1620. +``factory/scripts/[platypus/dolphin/myna2/]/factory``. Where ``platypus``: SL1640, ``dolphin``: SL1680, ``myna2``: SL1620. Pre-MP Preparation ================== 1. Assign REE SegID in Configuration File - The REE segmentation ID must align with the root key of REE (OEM) images, ensuring that all images share the same segmentation ID. - Therefore, REE segmentation ID must be assigned by OEM, and two values are stored in ``[factory tool]/config/oem_config.conf``, +------------------------------------------------------------ + + The REE segmentation ID must align with the root key of REE (OEM) images, ensuring that all images share the + same segmentation ID. The REE segmentation ID are stored in + ``factory/scripts/[platypus/dolphin/myna2/]/factory/config/oem_config.conf``, and must be set to the expected values before running key generation tool. - For example, + For example, adjust the ree_segid = 0x2E32000A in the configuration file as below: :: - + [Segmentation ID] ree_segid = 0x2E32000A + [Version] ree_version = 0x00000000 + : + : + : + + 2. Generate REE RSA Keys and AESK0 Keys +------------------------------------------------------------ + a) Utilize the tool located in ``[factory_tool]`` for this process. b) Execute the following script to generate REE RSA keys and AESK0 keys necessary for signing and encrypting REE images. @@ -71,17 +89,18 @@ After running the script, the following keys are generated: - ``AESK0_LINUX.bin``: derived from ``AESK0.bin``, 128-bit AES key to encrypt Linux kernel image. 3. Generate Production eMMCimg +------------------------------------------------------------ a) Refer to the build guide for generating a normal eMMCimg. b) Utilize the tool located in ``[factory_tool]`` for this process. c) Execute the following script to resign REE images from Normal eMMCimg directory. :: - + $ ./gen_production_image.py [normal_eMMCimg] -o [production_eMMCimg] -eMMC flash content changes --------------------------- +eMMC flash content changes: + +---------------------------------+--------------------------------------------+----------------------------------------------------------------------------------------------------+ | Image | Before Factory Flow (Normal eMMCimg) | After Factory Flow (Production eMMCimg) | @@ -100,8 +119,10 @@ eMMC flash content changes +---------------------------------+--------------------------------------------+----------------------------------------------------------------------------------------------------+ | fastlogo.subimg | Clear, authentication is bypassed | Signed by K1_REE_A | +---------------------------------+--------------------------------------------+----------------------------------------------------------------------------------------------------+ - + 4. Resign "USB Boot Linux Image Pack" images +------------------------------------------------------------ + a) Utilize the tool located in ``[factory_tool]`` to resign "USB Boot Linux Image Pack" images used after the MP flow. b) Execute the following script to resign REE images from image directory that in USB boot tool directory. @@ -109,9 +130,9 @@ eMMC flash content changes :: $ ./resign_usb_boot_image.py [usb_tool/image_dir] -o [output_image_dir] - -USB Boot tool content changes ------------------------------ + +USB Boot tool content changes: + +-----------------------------------+--------------------------------------------+---------------------------------------------------------------------------------------------------+ | Image | Before Factory Flow (Normal eMMCimg) | After Factory Flow (Production eMMCimg) | @@ -125,169 +146,215 @@ USB Boot tool content changes | gen3_uboot.bin.usb | Clear, authentication is bypassed | Encrypted by aesk0_boot_loader.bin, signed by K1_REE_A | +-----------------------------------+--------------------------------------------+---------------------------------------------------------------------------------------------------+ -5. Generate OTP layout for MAC_ADDRESS OTP Programming (Optional) - a) Utilize the tool located in ``[factory_tool]`` for this process. - b) Execute the following script to generate MAC_ADDRESS OTP layouts +5. Generate OTP commands for production OTP Programming +------------------------------------------------------------ + +Use the helper script gen_otp_command.py to generate OTP programming commands instead of writing them by hand. + +The tool can be found under `Factory repository `__ at +``factory/scripts/[platypus/dolphin/myna2/]/factory``. Where +``platypus``: SL1640, ``dolphin``: SL1680, ``myna2``: SL1620. + +Update the ``factory/scripts/[platypus/dolphin/myna2/]/factory/config/oem_config.conf`` settings as needed. +For OTP fields, please refer to :ref:`OTP_Field_Definitions_Table` for details. + +.. warning:: + Remember **don't change ree_segid = 0x2E32000A (as example) in this step as it should be updated in step 1**. + As keystores generated in step 2 are derived from the ree_segid(segmentation ID). Also production + images generated in step 3 and resigned USB boot images in step 4 depend on ree_segid value. Therefore, + changing ree_segid here will lead to a mismatch between OTP settings and images, causing boot failures. +A sample configuration file is shown below + +:: + + ### This file contains default settings for OTP programming during manufacturing. + ### Modify the parameters as needed for your specific OEM requirements. + ### Items commented out are optional and can be enabled if required. + + [Segmentation ID] + ree_segid = 0x2E32000A + + [Version] + ree_version = 0 + + [OTP_REE_SECURITY_ENABLE] + ree_security_enable = 1 + + [OTP_BOOT_SECURITY_ENABLE] + #boot_security_enable = 1 + + [OTP_MP_PROVISION_DONE] + mp_provision_done = 0 + + [OTP_SCS_AREA_SIZE_SEL] + scs_area_size_sel = 0 + + [OTP_REE_JTAG_PROTECTION_POLICY] + ree_jtag_protection_policy = 1 + + [OTP_EMMC_BOOT_DISABLE] + emmc_boot_disable = 0 + + [OTP_SPI_BOOT_DISABLE] + spi_boot_disable = 0 + + [OTP_USB_BOOT_DISABLE] + usb_boot_disable = 0 + + [OTP_OEM_AUDIO_CUSTOMER_ID] + #oem_audio_customer_id = 0x00000000 + + [OTP_PRODUCTION_CHIP_FLAG] + #production_chip_flag = 7 + +Examples: (Platypus: SL1640) :: - $ ./tools/gen_genx_otp_layout_v1 -M -s tools/device_prov_pub.pem -o .bin + $sdk/factory/scripts/platypus/factory$ ./gen_otp_command.py + +When the command completes, two files will be generated in the current directory: + + - otp_commands_uboot.txt: U-Boot otpwrite commands + - otp_commands_linux.txt: Linux factory_util 6 otpwrite commands + + +Below is a sample execution log: - example: - :: - $ ./tools/gen_genx_otp_layout_v1 -M 0x123456781234 -s tools/device_prov_pub.pem -o mac_addr_layout_123456781234.bin - c) ``.bin``, the mac_addr OTP layout file will appear in the current directory. + $sdk/factory/scripts/platypus/factory$ ./gen_otp_command.py + [SKIP] OTP_MP_PROVISION_DONE value is 0, command not generated + otpwrite 100 0xc4ddf49e 0xffffffff [Atomic] + otpwrite 101 0xe0593948 0xffffffff [Atomic] + otpwrite 102 0xde9b8638 0xffffffff [Atomic] + otpwrite 103 0x81ace868 0xffffffff [Atomic] + otpwrite 104 0x2a629998 0xffffffff [Atomic] + otpwrite 105 0xd105297d 0xffffffff [Atomic] + otpwrite 106 0x8559f683 0xffffffff [Atomic] + otpwrite 107 0xd92484ee 0xffffffff [Atomic] + otpwrite 108 0x60c500da 0xffffffff [Atomic] + otpwrite 109 0x08625e40 0xffffffff [Atomic] + otpwrite 110 0xf5c13936 0xffffffff [Atomic] + otpwrite 111 0x908e3b76 0xffffffff [Atomic] + otpwrite 112 0x00000000 0xffffffff [Atomic] + otpwrite 113 0x00000001 0x00000001 [Atomic] + otpwrite 116 0x00000000 0x00000003 + otpwrite 117 0x00000001 0x00000003 + otpwrite 200 0x00000000 0x00000001 + otpwrite 201 0x00000000 0x00000001 + otpwrite 205 0x00000000 0x00000001 + [OK] Wrote 19 lines to otp_commands_uboot.txt + [OK] Wrote 19 lines to otp_commands_linux.txt -6. Generate OTP layout for production OTP Programming +Notes: - a) Utilize the tool located in ``[factory_tool]`` for this process. - b) Execute the following script to generate OTP layouts:: + - Refer to :ref:`Atomic_Programming_Rules` for details on atomic programming rules. - $ ./gen_otp.py --out .bin + - Lines tagged with [Atomic] belong to the atomic security group and MUST be programmed as part of + one provisioning session without reboot or power loss. - example: + - otp_commands_uboot.txt contains commands in the form to perform in u-boot: + otpwrite + + - otp_commands_linux.txt contains commands in the form to perform in Linux: + factory_util 6 otpwrite - :: - $ ./gen_otp.py --out otp_layout.bin - - c) ``.bin``, the otp layout files will appear in the current directory. - -OTP fuse changes during factory flow ------------------------------------- - -+-------------------------+-----------------------+------------------------+ -| OTP | Before Factory Flow | After Factory Flow | -+=========================+=======================+========================+ -| REE_Security_Enable | Unprogrammed | 1 | -+-------------------------+-----------------------+------------------------+ -| K0_REE | Unprogrammed | SHA-256 of K0_REE | -+-------------------------+-----------------------+------------------------+ -| REE_SEGID | Unprogrammed | OEM value | -+-------------------------+-----------------------+------------------------+ -| AESK0 | Unprogrammed | OEM value | -+-------------------------+-----------------------+------------------------+ -| SCS_Total_Area_Size_Sel | Unprogrammed | 385K | -+-------------------------+-----------------------+------------------------+ -| OTP | Before Factory Flow | After Factory Flow | -+-------------------------+-----------------------+------------------------+ -| jtag_protection_level | Unprogrammed | 1 | -+-------------------------+-----------------------+------------------------+ -| MP_provision_done | Unprogrammed | 1 | -+-------------------------+-----------------------+------------------------+ - - -Go Through MP flow (OTP programming and eMMCimg updating) +Go Through MP flow +=================================================================== 1. Flash Production eMMCimg +------------------------------ a) Copy the Production eMMCimg to an external USB drive or usb_boot tool directory. b) Boot into USB U-Boot. c) Execute the following U-Boot command to flash eMMCimg ``production_eMMCimg`` from external USB drive. - + :: => usb2emmc - + Execute the following U-Boot command to flash eMMCimg ``production_eMMCimg`` from usb_boot tool directory. - + :: => l2emmc -2. Fuse MAC_ADDRESS into OTP (optional) - a) Execute the following U-Boot commands to load the OTP layout from usb_boot tool directory and program OTP. - - :: +2. Fuse OTP +------------------------------ - => usbload - => otp write +Assume fuse the OTP in u-boot environment. The otp_commands_uboot.txt contains commands in the form to perform in u-boot. +Either copy and paste the commands (i.e., otp_commands_uboot.txt) one by one or create a script image (.scr) to execute all +commands automatically in u-boot. Below is the instruction to create a script image (.scr) from otp_commands_uboot.txt. - example: - - :: - usbload mac_addr_layout_123456781234.bin 0x7000000 - otp write 0x7000000 0x500 - - b) Execute the following U-Boot commands to load OTP layout from external USB Drive to and program OTP. - :: - => usb start - => fatload [ - => otp write + $ mkimage -A arm -O linux -T script -C none -n "OTP script" -d otp_commands_uboot.txt otp_commands_uboot.scr - example: - - :: - - usb start - fatload usb 0:1 0x7000000 mac_addr_layout_123456781234.bin - otp write 0x7000000 0x500 + Image Name: OTP script + Created: Tue Dec 9 13:33:26 2025 + Image Type: ARM Linux Script (uncompressed) + Data Size: 708 Bytes = 0.69 KiB = 0.00 MiB + Load Address: 00000000 + Entry Point: 00000000 + Contents: + Image 0: 700 Bytes = 0.68 KiB = 0.00 MiB - c) Check MAC address with below uboot commands - - :: + $ which mkimage + /usr/bin/mkimage - => net_init - => printenv - - example: - - :: + $ mkimage --version + mkimage version 2025.01 - => net_init + $ file /usr/bin/mkimage + /usr/bin/mkimage: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=5971adb62d81976b9c7c36b1f5b6d974495e8de6, for GNU/Linux 3.2.0, stripped - Warning: ethernet@b60000 using MAC address from ROM - eth0: ethernet@b60000 - - => printenv - autoload=n - baudrate=115200 - bootcmd=bootmmc - bootdelay=0 - ethaddr=12:34:56:78:12:34 - fdtcontroladdr=21730290 - preboot=show_logo; - ver=U-Boot 2019.10-g45105f1b01-dirty (Sep 18 2024 - 18:31:01 +0000) - Environment size: 193/65532 bytes + Copy the otp_commands_uboot.scr to an external USB drive or usb_boot tool directory. -3. Fuse OTP + a) Execute the following U-Boot commands to load otp_commands_uboot.scr from usb_boot tool directory and program OTP - a) Execute the following U-Boot commands to load OTP layout from usb_boot tool directory and program OTP - :: - => usbload - => otp write + => usbload otp_commands_uboot.scr + => source example: - + :: - - => usbload otp_layout.bin 0x7000000 - => otp write 0x7000000 0x500 - - b) Execute the following U-Boot commands to load OTP layout from external USB Drive and program OTP - + + => usbload otp_commands_uboot.scr 0x7000000 + => source 0x7000000 + + b) Execute the following U-Boot commands to load otp_commands_uboot.scr from external USB Drive and program OTP + :: => usb start - => fatload [ + => fatload [ => otp write - + example: - + :: - usb start - fatload usb 0:1 0x7000000 otp_layout.bin - otp write 0x7000000 0x500 + => usb start + => fatload usb 0:1 0x7000000 otp_commands_uboot.scr + => source 0x7000000 + + +.. note:: + + CONFIG_CMD_SOURCE=y must be enabled in U-Boot configuration to use the source command. + + :: + + boot\u-boot\configs\platypus_usb_suboot_defconfig + + CONFIG_CMD_SOURCE=y diff --git a/subject/otp_guide.rst b/subject/otp_guide.rst new file mode 100755 index 0000000..b4da311 --- /dev/null +++ b/subject/otp_guide.rst @@ -0,0 +1,522 @@ +========================================================================= + OTP Access Utility Guide +========================================================================= + +.. contents:: + :depth: 3 + +Introduction +==================================================================== + +This document describes the usage of the OTP access utilities in: + + - U-Boot environment : otpread / otpwrite + - Linux TA/CA environment: factory_util 6 otpread / otpwrite + +OTP (One-Time Programmable) memory allows permanent configuration of +security keys, boot policies, and OEM information. + +.. _OTP_Field_Definitions_Table: + +OTP Field Definitions Table +==================================================================== + +Each OTP index has a fixed access permission and a valid data mask. +Only bits set in the mask are allowed to be programmed. + +"Atomic Item" indicates whether the field MUST be programmed as part +of the atomic security provisioning group. + ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| Index | Name | Read / Write Permission | Mask | Atomic Item| Comments | ++=======+===============================+=========================+============+============+=============================================+ +| 0-31 | OTP_USER_DATA_0 ~ 31 | Read / Write | 0xFFFFFFFF | NO | User Data | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 100 | OTP_K0_OEM_HASH_0 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 0 (256-bit) | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 101 | OTP_K0_OEM_HASH_1 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 1 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 102 | OTP_K0_OEM_HASH_2 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 2 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 103 | OTP_K0_OEM_HASH_3 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 3 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 104 | OTP_K0_OEM_HASH_4 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 4 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 105 | OTP_K0_OEM_HASH_5 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 5 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 106 | OTP_K0_OEM_HASH_6 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 6 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 107 | OTP_K0_OEM_HASH_7 | Write Only | 0xFFFFFFFF | YES | OEM Root Public Key Hash word 7 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 108 | OTP_AESK0_0 | Write Only | 0xFFFFFFFF | YES | AES Root Key K0 word 0 (0-3 total 128-bit) | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 109 | OTP_AESK0_1 | Write Only | 0xFFFFFFFF | YES | AES Root Key K0 word 1 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 110 | OTP_AESK0_2 | Write Only | 0xFFFFFFFF | YES | AES Root Key K0 word 2 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 111 | OTP_AESK0_3 | Write Only | 0xFFFFFFFF | YES | AES Root Key K0 word 3 | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 112 | OTP_REE_SEGID | Read / Write | 0xFFFFFFFF | YES | 32-bit REE segmentation ID | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 113 | OTP_REE_SECURITY_ENABLE | Read / Write | 0x00000001 | YES | 1 = Enable REE security | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 114 | OTP_BOOT_SECURITY_ENABLE | Read / Write | 0x00000001 | NO | 1 = Enable Secure Boot | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 115 | OTP_MP_PROVISION_DONE | Read / Write | 0x00000001 | NO | 1 = Factory provisioning complete | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 116 | OTP_SCS_AREA_SIZE_SEL | Read / Write | 0x00000003 | NO | 2-bit Secure Code Storage size select | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 117 | OTP_REE_JTAG_PROTECTION_POLICY| Read / Write | 0x00000003 | NO | 2-bit JTAG access policy | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 200 | OTP_EMMC_BOOT_DISABLE | Read / Write | 0x00000001 | NO | 1 = Disable eMMC boot | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 201 | OTP_SPI_BOOT_DISABLE | Read / Write | 0x00000001 | NO | 1 = Disable SPI boot | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 202 | OTP_DOLBY_AUDIO_DISABLE | Read Only | 0x00000001 | NO | 1 = Disable Dolby Audio | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 203 | OTP_OEM_AUDIO_CUSTOMER_ID | Write Only | 0xFFFFFFFF | NO | 32-bit OEM Audio Customer ID | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 204 | OTP_PRODUCTION_CHIP_FLAG | Read / Write | 0x00000007 | NO | 3-bit 0:Development chip 7: Production Chip | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 205 | OTP_USB_BOOT_DISABLE | Read / Write | 0x00000001 | NO | 1 = Disable USB boot | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ +| 206 | OTP_FIELD_MAX | N/A | N/A | N/A | Enum boundary only | ++-------+-------------------------------+-------------------------+------------+------------+---------------------------------------------+ + +Notes: + + 1. OTP_USER_DATA_0 ~ 31: + This field is provided for user data storage. It supports per-bit masking programming. + + 2. OTP_MP_PROVISION_DONE: + Set this field to 1 means all the MP provision are completed. There's no restriction for otpread/otpwrite + to distinguish this field to do anything different. But it would be a good indicator for + provision are all complete if set OTP_MP_PROVISION_DONE = 1. It's up to user to use this field + if using otpread/otpwrite to do fusing stuff. + + 3. OTP_SCS_AREA_SIZE_SEL: + - 0x0 : 385K (default) + + 4. OTP_REE_JTAG_PROTECTION_POLICY: + - 0x0 : JTAG always enabled + - 0x1 : JTAG password protected + - 0x2 : JTAG always disabled + - 0x3 : JTAG always disabled + + 5. OTP_PRODUCTION_CHIP_FLAG: + - 0x0 : Development chip. Both development and production image can run on this chip. + - 0x7 : Production chip. Only production image can run on this chip. + + Notes: + Basically, only production chips are shipped to customers. This field can be used to + prevent development images from running on production chips. + + 6. OTP_OEM_AUDIO_CUSTOMER_ID: + This field is used to store a 32-bit customer ID for Dolby Audio feature customization. + + 7. OTP_BOOT_SECURITY_ENABLE: + This field by default is enabled in Astra chips before shipping to customers. + + +U-BOOT OTP Commands +==================================================================== + +otpread +------------------------------------------------------------ + +Usage: + :: + + otpread + otpread 0 + otpread 1 + +Return Codes: + :: + + 0x00000000 : Success + 0xFF000001 : STATUS_FAILURE + 0xFF000050 : STATUS_OTP_INVALID_IDX + 0xFF000052 : STATUS_OTP_ERROR_WRITEONLY_FIELD + + +otpwrite +------------------------------------------------------------ + +Usage: + :: + + otpwrite + + otpwrite 1 0x500 0xFFF + otpwrite 2 0x1A2B3C4D 0xFFFFFFFF + otpwrite 3 0x1A2B0000 0xFFFF0000 + otpwrite 4 0x00010000 0x00010000 + +Return Codes: + :: + + 0x00000000 : Success + 0xFF000001 : STATUS_FAILURE + 0xFF000050 : STATUS_OTP_INVALID_IDX + 0xFF000051 : STATUS_OTP_ERROR_READONLY_FIELD + +Examples: + :: + + => otpread 0 + otp operation succeed + read otp[0] data=0x0000beaf, mask=0xffffffff + => otpread 1 + otp operation succeed + read otp[1] data=0xbeafbeaf, mask=0xbeafffff + => otpread 2 + otp operation succeed + read otp[2] data=0x0000beaf, mask=0x0000ffff + + => otpread 100 + otp operation failed + do_otp_read: ret = 0xff000052 + read otp[100] data=0xdeadbeaf, mask=0xffffffff + + +Linux TA/CA OTP Commands +==================================================================== + +factory_util 6 otpread +------------------------------------------------------------ + +Usage: + :: + + factory_util 6 otpread + factory_util 6 otpread 0 + factory_util 6 otpread 1 + + + +Return Codes: + :: + + 0x00000000 : Success + 0xFF000001 : STATUS_FAILURE + 0xFF000050 : STATUS_OTP_INVALID_IDX + 0xFF000052 : STATUS_OTP_ERROR_WRITEONLY_FIELD + + + +factory_util 6 otpwrite +------------------------------------------------------------ + +Usage: + :: + + factory_util 6 otpwrite + factory_util 6 otpwrite 1 0x500 0xFFF + factory_util 6 otpwrite 2 0x1A2B3C4D 0xFFFFFFFF + factory_util 6 otpwrite 3 0x1A2B0000 0xFFFF0000 + factory_util 6 otpwrite 4 0x00010000 0x00010000 + +Return Codes: + :: + + 0x00000000 : Success + 0xFF000001 : STATUS_FAILURE + 0xFF000050 : STATUS_OTP_INVALID_IDX + 0xFF000051 : STATUS_OTP_ERROR_READONLY_FIELD + + +Examples: + :: + + root@sl1640:~# factory_util 6 otpread 0 + D/TA: __GP11_TA_InvokeCommandEntryPoint:82 CommandID = 0xe00c + _otp_read: idx=0, val=0x0000BEAF, mask=0xFFFFFFFF + OTP[0] = 0x0000BEAF, mask=0xFFFFFFFF + + root@sl1640:~# factory_util 6 otpread 1 + D/TA: __GP11_TA_InvokeCommandEntryPoint:82 CommandID = 0xe00c + _otp_read: idx=1, val=0xBEAFBEAF, mask=0xBEAFFFFF + OTP[1] = 0xBEAFBEAF, mask=0xBEAFFFFF + + root@sl1640:~# factory_util 6 otpread 100 + D/TA: __GP11_TA_InvokeCommandEntryPoint:82 CommandID = 0xe00c + _otp_read:744: Invoke failed, res=0xff000052 origin=4 + _otp_read: idx=100, val=0xDEADBEAF, mask=0xFFFFFFFF + otpread failed for index 100 (status=1) + +.. note:: + + By default, the factory utilities are installed in astra-media images. If + not present, can add the package by adding below line to conf/local.conf + and build image. + + IMAGE_INSTALL_append = " synasdk-factory-ta synasdk-drm-factory-ca-program" + + Once package is installed, should find below ta and factory utilities in the target device: + - /usr/lib/optee_armtz/1316a183-894d-43fe-9893-bb946ae10420.ta + - /usr/bin/factory_util + +Common OTP Index List +==================================================================== + + ===== ============================ + Idx Name + ===== ============================ + 0 OTP_USER_DATA_0 + 1 OTP_USER_DATA_1 + : : + 31 OTP_USER_DATA_31 + 100 OTP_K0_OEM_HASH_0 + 101 OTP_K0_OEM_HASH_1 + 102 OTP_K0_OEM_HASH_2 + 103 OTP_K0_OEM_HASH_3 + 104 OTP_K0_OEM_HASH_4 + 105 OTP_K0_OEM_HASH_5 + 106 OTP_K0_OEM_HASH_6 + 107 OTP_K0_OEM_HASH_7 + 108 OTP_AESK0_0 + 109 OTP_AESK0_1 + 110 OTP_AESK0_2 + 111 OTP_AESK0_3 + 112 OTP_REE_SEGID + 113 OTP_REE_SECURITY_ENABLE + 114 OTP_BOOT_SECURITY_ENABLE + 115 OTP_MP_PROVISION_DONE + 116 OTP_SCS_AREA_SIZE_SEL + 117 OTP_REE_JTAG_PROTECTION_POLICY + 200 OTP_EMMC_BOOT_DISABLE + 201 OTP_SPI_BOOT_DISABLE + 202 OTP_DOLBY_AUDIO_DISABLE + 203 OTP_OEM_AUDIO_CUSTOMER_ID + 204 OTP_PRODUCTION_CHIP_FLAG + 205 OTP_USB_BOOT_DISABLE + 206 OTP_FIELD_MAX + + ===== ============================ + + +Important Programming Rules +==================================================================== + +Except for OTP_USER_DATA_0-31 which supports per-bits fusing access, for other fields, please follow +below mask guideline: + +1. 1-bit fields must use mask = 0x00000001 +2. 2-bit fields must use mask = 0x00000003 +3. 3-bit fields must use mask = 0x00000007 +4. 32-bit fields must use mask = 0xFFFFFFFF + + +WRITE-ONLY OTP Field Readback Behavior +==================================================================== + +If a write-only field is read: + +Return Code: + 0xFF000052 : STATUS_OTP_ERROR_WRITEONLY_FIELD + +Returned Data: + 0xDEADBEAF (INVALID DUMMY DATA) + +Returned Mask: + VALID. Mask would reflect whether the OTP field is programmed. + 0x0 = not programmed; 0xFFFFFFFF = fully programmed. + +Examples: + :: + + root@sl1640:~# factory_util 6 otpread 100 + _otp_read:744: Invoke failed, res=0xff000052 origin=4 + _otp_read: idx=100, val=0xDEADBEAF, mask=0xFFFFFFFF + otpread failed for index 100 (status=1) + +If the mask=0xFFFFFFFF, which means all the 32-bits of the field are all programmed. + +OTP_USER_DATA_0~31 Mask Usage +==================================================================== + + - Write of OTP_USER_DATA_0~31 would only program bits set in the mask. Bits not set + in the mask would remain unchanged. + - If the mask specifies bits already programmed, those bits would be ignored + and not cause error. + - Supports: + - Per-bit masking + - Per-n-bit masking + - Full 32-bit masking + +Examples: + :: + + # Per-bit masking examples + => otpwrite 0 0x00000001 0x00000001 + => otpwrite 0 0x000000F0 0x000000F0 + => otpwrite 0 0xA5A5A5A5 0xFFFFFFFF + + # Bit masking examples + # Preexisting otp[5] = 0x0000000a, mask=0x0000000f + # Write otp[5] 0x000000a7 mask=0x000000ff + # Final otp[5] = 0x000000aa, mask=0x000000ff + => otpwrite 5 0xA 0xF + otp operation succeed + => otpread 5 + otp operation succeed + read otp[5] data=0x0000000a, mask=0x0000000f + => otpwrite 5 0xa7 0xff + otp operation succeed + => otpread 5 + otp operation succeed + read otp[5] data=0x000000aa, mask=0x000000ff + + +.. _Atomic_Programming_Rules: + +Atomic Programming Rules +==================================================================== + +Atomic group includes: + + - OTP_K0_OEM_HASH_0 ~ OTP_K0_OEM_HASH_7 + - OTP_AESK0_0 ~ OTP_AESK0_3 + - OTP_REE_SEGID + - OTP_REE_SECURITY_ENABLE + +Rules: + + 1. ALL atomic items must be programmed in ONE SESSION. Once reboot or power loss, it would mean + enter a new SESSION. + 2. NO reboot or power loss is allowed before completion. + 3. It is FORBIDDEN to program HASH/AESK0 and set OTP_REE_SECURITY_ENABLE = 0. + 4. Any violation may result in PERMANENT BRICK. + +Notes: + + 1. There's no constrain for the command sequence of atomic items inside the same SESSION. + 2. For none-atomic fields, there's no constrain to program in any SESSION. + + +Tools to generate OTP commands +==================================================================== + +It is strongly recommended to use the helper script gen_otp_command.py to generate OTP programming +commands instead of writing them by hand. + +The tool can be found under `Factory repository `__ at +``factory/scripts/[platypus/dolphin/myna2/]/factory``. ``platypus``: SL1640, ``dolphin``: SL1680, ``myna2``: SL1620. + +Examples: (Platypus: SL1640) + :: + + $sdk/factory/scripts/platypus/factory$ ./gen_otp_command.py + +When the command completes, two files will be generated in the current directory: + + - otp_commands_uboot.txt: U-Boot otpwrite commands + - otp_commands_linux.txt: Linux factory_util 6 otpwrite commands + +The script performs the following: + + - Reads OTP configuration from + - configs/oem_config.conf + - keys/K0_REE_hash.bin + - keys/AESK0.bin + + - Applies the mask rules described in this document + + - Enforces atomic programming rules for: + - OTP_K0_OEM_HASH_0 ~ 7 + - OTP_AESK0_0 ~ 3 + - OTP_REE_SEGID + - OTP_REE_SECURITY_ENABLE + + - Treats OTP_MP_PROVISION_DONE as a special case: + - If its value is 0, the command is skipped and a + [SKIP] message is printed + - User can perform the OTP_MP_PROVISION_DONE = 1 command when + ALL the OTP fields are done in the LAST production SESSION. + + - Tags atomic items in the debug output with [Atomic] + +A sample configs/oem_config.conf configuration file is shown below + +:: + + ### This file contains default settings for OTP programming during manufacturing. + ### Modify the parameters as needed for your specific OEM requirements. + ### Items commented out are optional and can be enabled if required. + + [Segmentation ID] + ree_segid = 0x2E32000A + + [Version] + ree_version = 0 + + [OTP_REE_SECURITY_ENABLE] + ree_security_enable = 1 + + [OTP_BOOT_SECURITY_ENABLE] + #boot_security_enable = 1 + + [OTP_MP_PROVISION_DONE] + mp_provision_done = 0 + + [OTP_SCS_AREA_SIZE_SEL] + scs_area_size_sel = 0 + + [OTP_REE_JTAG_PROTECTION_POLICY] + ree_jtag_protection_policy = 1 + + [OTP_EMMC_BOOT_DISABLE] + emmc_boot_disable = 0 + + [OTP_SPI_BOOT_DISABLE] + spi_boot_disable = 0 + + [OTP_USB_BOOT_DISABLE] + usb_boot_disable = 0 + + [OTP_OEM_AUDIO_CUSTOMER_ID] + #oem_audio_customer_id = 0x00000000 + + [OTP_PRODUCTION_CHIP_FLAG] + #production_chip_flag = 7 + + +Below is a sample execution log: + + :: + + $sdk/factory/scripts/platypus/factory$ ./gen_otp_command.py + [SKIP] OTP_MP_PROVISION_DONE value is 0, command not generated + otpwrite 100 0xc4ddf49e 0xffffffff [Atomic] + otpwrite 101 0xe0593948 0xffffffff [Atomic] + otpwrite 102 0xde9b8638 0xffffffff [Atomic] + otpwrite 103 0x81ace868 0xffffffff [Atomic] + otpwrite 104 0x2a629998 0xffffffff [Atomic] + otpwrite 105 0xd105297d 0xffffffff [Atomic] + otpwrite 106 0x8559f683 0xffffffff [Atomic] + otpwrite 107 0xd92484ee 0xffffffff [Atomic] + otpwrite 108 0x60c500da 0xffffffff [Atomic] + otpwrite 109 0x08625e40 0xffffffff [Atomic] + otpwrite 110 0xf5c13936 0xffffffff [Atomic] + otpwrite 111 0x908e3b76 0xffffffff [Atomic] + otpwrite 112 0x00000000 0xffffffff [Atomic] + otpwrite 113 0x00000001 0x00000001 [Atomic] + otpwrite 116 0x00000000 0x00000003 + otpwrite 117 0x00000001 0x00000003 + otpwrite 200 0x00000000 0x00000001 + otpwrite 201 0x00000000 0x00000001 + otpwrite 205 0x00000000 0x00000001 + [OK] Wrote 19 lines to otp_commands_uboot.txt + [OK] Wrote 19 lines to otp_commands_linux.txt + +Notes: + + - Lines tagged with [Atomic] belong to the atomic security group and MUST be programmed as part + of one provisioning session without reboot or power loss. + + - otp_commands_uboot.txt contains commands in the form to perform in u-boot: + otpwrite + + - otp_commands_linux.txt contains commands in the form to perform in Linux: + factory_util 6 otpwrite diff --git a/subject/updating_isp_sensor_configuration.rst b/subject/updating_isp_sensor_configuration.rst index bedced9..f568d10 100644 --- a/subject/updating_isp_sensor_configuration.rst +++ b/subject/updating_isp_sensor_configuration.rst @@ -1,6 +1,6 @@ -===================================== -Updating the ISP Sensor Configuration -===================================== +=============================================== +Updating the ISP Sensor Configuration on SL1680 +=============================================== SL1680 supports multiple camera sensors. By default, SL1680 is configured to use the OV5647 module with port CSI0. But, the software can be configured to use any of the supported sensor modules. Some configurations require setting a device tree overlay to function correctly. diff --git a/subject/usb_boot_user_guide.rst b/subject/usb_boot_user_guide.rst index fb3b381..9fb1b9c 100644 --- a/subject/usb_boot_user_guide.rst +++ b/subject/usb_boot_user_guide.rst @@ -9,6 +9,10 @@ USB Booting uses the ``astra-boot`` tool to load the boot images. The ``astra-bo `Astra Update `__ tool used for software update. Both tools are based on the ``astraupdate`` library, but ``astra-boot`` removes the update logic to only support booting. +.. note:: + + USB Boot is not supported on SL261x. + Setting Up USB Boot =================== diff --git a/subject/waveshare_dsi-configuration.rst b/subject/waveshare_dsi-configuration.rst index 3007cc4..9471c59 100644 --- a/subject/waveshare_dsi-configuration.rst +++ b/subject/waveshare_dsi-configuration.rst @@ -29,12 +29,12 @@ Software Configuration ====================== The Waveshare panel can be enabled by setting the ``dtbo`` variable, in U-Boot, to the correct device tree overlay. -+-----------------+-----------------------------------+--------------------------------------+-------------------------------------+ -| | SL1620 | SL1640 | SL1680 | -+-----------------+-----------------------------------+--------------------------------------+-------------------------------------+ -| 7" Panel | myna2-ws-panel-overlay.dtbo | platypus-ws-panel-overlay.dtbo | dolphin-ws-panel-overlay.dtbo | -+-----------------+-----------------------------------+--------------------------------------+-------------------------------------+ -| 13.3" Panel | myna2-ws-1080p-panel-overlay.dtbo | platypus-ws-1080p-panel-overlay.dtbo | dolphin-ws-1080p-panel-overlay.dtbo | -+-----------------+-----------------------------------+--------------------------------------+-------------------------------------+ ++-----------------+-----------------------------------+--------------------------------------+-------------------------------------+------------------------------------+ +| | SL1620 | SL1640 | SL1680 | SL2619 | ++=================+===================================+======================================+=====================================+====================================+ +| 7" Panel | myna2-ws-panel-overlay.dtbo | platypus-ws-panel-overlay.dtbo | dolphin-ws-panel-overlay.dtbo | sl2619-ws-panel-overlay.dtbo | ++-----------------+-----------------------------------+--------------------------------------+-------------------------------------+------------------------------------+ +| 13.3" Panel | myna2-ws-1080p-panel-overlay.dtbo | platypus-ws-1080p-panel-overlay.dtbo | dolphin-ws-1080p-panel-overlay.dtbo | sl2619-ws-1080p-panel-overlay.dtbo | ++-----------------+-----------------------------------+--------------------------------------+-------------------------------------+------------------------------------+ See :ref:`devicetree_overlays` for details on how to enable the devicetree overlays. \ No newline at end of file diff --git a/yocto.rst b/yocto.rst index 4a767bf..bfd0a4e 100644 --- a/yocto.rst +++ b/yocto.rst @@ -30,12 +30,24 @@ for the following machines, distributions and images: +------------+--------------+-------------------------------------------------+ | sl1680 | poky | astra-media, astra-media-oobe, astra-core | +------------+--------------+-------------------------------------------------+ + | sl2611 | poky | astra-media | + +------------+--------------+-------------------------------------------------+ + | sl2615 | poky | astra-media, astra-media-oobe | + +------------+--------------+-------------------------------------------------+ + | sl2619 | poky | astra-media, astra-media-oobe | + +------------+--------------+-------------------------------------------------+ | sl1620usb | poky | astra-media | +------------+--------------+-------------------------------------------------+ | sl1640usb | poky | astra-media | +------------+--------------+-------------------------------------------------+ | sl1680usb | poky | astra-media | +------------+--------------+-------------------------------------------------+ + | sl1620spi | poky | astra-tiny | + +------------+--------------+-------------------------------------------------+ + | sl1640spi | poky | astra-tiny | + +------------+--------------+-------------------------------------------------+ + | sl1680spi | poky | astra-tiny | + +------------+--------------+-------------------------------------------------+ .. _yocto_prerequisites: @@ -212,6 +224,18 @@ To build an image execute the following commands:: pokyuser@xyz:/path/to/workspace/sdk $ . meta-synaptics/setup/setup-environment +Select the MACHINE you want to build: + +:: + + 1) conf/machine/sl1620.conf 4) conf/machine/sl1640usb.conf 7) conf/machine/sl1680usb.conf 10) conf/machine/sl2611.conf + 2) conf/machine/sl1620usb.conf 5) conf/machine/sl1680.conf 8) conf/machine/sl1620spi.conf 11) conf/machine/sl2615.conf + 3) conf/machine/sl1640.conf 6) conf/machine/sl1680spi.conf 9) conf/machine/sl1640spi.conf 12) conf/machine/sl2619.conf + +Build the image + +:: + pokyuser@xyz:/path/to/workspace/sdk/build-XYZ $ bitbake astra-media The resulting image can be found in ``build-${MACHINE}/tmp/deploy/images/${MACHINE}/SYNAIMG/``. @@ -263,11 +287,11 @@ a wide range of environments. To setup the toolchain you first uncompress it as follows:: - $ chmod 755 poky-glibc-x86_64-astra-media-cortexa73-sl1680-toolchain-4.0.17.sh - $ ./poky-glibc-x86_64-astra-media-cortexa73-sl1680-toolchain-4.0.17.sh - Poky (Yocto Project Reference Distro) SDK installer version 4.0.17 + $ chmod 755 poky-glibc-x86_64-astra-media-cortexa73-sl1680-toolchain-5.0.9.sh + $ ./poky-glibc-x86_64-astra-media-cortexa73-sl1680-toolchain-5.0.9.sh + Poky (Yocto Project Reference Distro) SDK installer version 5.0.9 ================================================================== - Enter target directory for SDK (default: /opt/poky/4.0.17): toolchain + Enter target directory for SDK (default: /opt/poky/5.0.9): toolchain You are about to install the SDK to "/home/user/toolchain". Proceed [Y/n]? Extracting SDK.................................................................................................................................................................................................................................................................................................................................done Setting it up...done @@ -277,8 +301,8 @@ To setup the toolchain you first uncompress it as follows:: .. note:: - The exact names of the toolchain environment files depend on the target board: ``CPUTYPE`` for ``sl1680`` is - ``cortexa73``, for ``sl1620`` and ``sl1640`` is ``cortexa55`` + The exact names of the toolchain environment files depend on the target board: ``CPUTYPE``. The ``CPUTYPE`` for ``sl1680`` is + ``cortexa73``. For ``sl1620``, ``sl1640`` and ``sl261x`` the ``CPUTYPE`` is ``cortexa55``. Then to configure the build environment you need to source a configuration script as follows:: @@ -324,34 +348,37 @@ This BSP is compatible with these layers: * ``meta-swupdate`` (optional - for OTA support) * ``meta-browser`` (optional - for Chromium support) * ``meta-clang`` (optional - for Chromium support) - * ``meta-ros`` (optional - for the Robot Operating System support) * ``meta-virtualization`` (optional - for container support) + * ``meta-selinux`` (optional - for selinux support) + * ``meta-lts-mixins`` (optional - for mixin layers used with LTS releases) .. _astra_machines: Astra Machine Types =================== -The Astra Yocto release defines three machine types per chip. ``sl1620``, ``sl1640``, and ``sl1680`` are the default machine types which are -use for building images which boot from the internal eMMC. This is the most common machine type. +The Astra Yocto release defines three machine types per chip. ``sl1620``, ``sl1640``, ``sl1680``, and ``sl261x`` are the default machine types which are +used for building images which boot from the internal eMMC. This is the most common machine type. The ``usb`` machine types are used to build images which boot using the USB interface. Typically, this machine type is used to build images used to update the eMMC image, but this image can also be used to boot a full linux environment. This machine type is used to build custom images for customer specific hardware. -.. note:: - - The ``spi`` machine types are not currently supported with Scarthgap releases. - ==================== =================================================================================================== ================== Image Description Version Added ==================== =================================================================================================== ================== sl1620 Default machine type for SL1620 v0.9 sl1620usb Machine type for booting SL1620 from USB v1.6 +sl1620spi Machine type for booting SL1620 from SPI v1.7 sl1640 Default machine type for SL1640 v0.9 sl1640usb Machine type for booting SL1640 from USB v1.6 +sl1640spi Machine type for booting SL1640 from SPI v1.7 sl1680 Default machine type for SL1680 v0.9 sl1680usb Machine type for booting SL1680 from USB v1.6 +sl1680spi Machine type for booting SL1680 from SPI v1.7 +sl2611 Default machine type for SL2611 v2.1 +sl2615 Default machine type for SL2615 v2.1 +sl2619 Default machine type for SL2619 v2.0.1 ==================== =================================================================================================== ================== .. _astra_images: @@ -364,6 +391,7 @@ The Astra Yocto release contains several images which provide different levels o ==================== =================================================================================================== ================== Image Description Version Added ==================== =================================================================================================== ================== +astra-tiny Minimal packages used to build image suitable for booting from 32MB SPI NOR Flash. v1.5 astra-core Core system packages Intended for power management testing. v1.2 astra-media Default image which contains core packages along with full packages supporting full multimedia v0.9 capabilities. @@ -376,7 +404,7 @@ to create a fully functional system. While ``astra-media-oobe`` contains additio Machina. The ``astra-media`` images, based on the ``poky`` distribution, provides a basic graphical -system with ``weston`` and it is suitable to test ``sl1620``, ``sl1640`` and ``sl1680`` features. +system with ``weston`` and it is suitable to test ``sl1620``, ``sl1640``, ``sl1680``, and ``sl261x`` features. The image requires some specific configurations in ``conf/local.conf`` to work correctly. The ``meta-synaptics/setup/setup-environment`` script can be used to correctly setup an image to build automatically.