.. _SD.Bootloader.Mb2BctMiscConfig:

.. include:: /content/swdocs.rsts

.. spelling::
   pad
   init
   DTS
   sdmmc
   SDMMC
   hv
   eqos
   io
   ao
   ufs
   qspi
   DTSI
   SoC
   PMC
   IMPL
   BCT
   bct
   GPIO
   pinmux
   dtsi
   pinctrl
   lpdr
   tristate
   ps
   PADCTL
   i2c
   I2C
   DRAM
   FPS
   PWM
   MMIO
   PMIC
   Vout
   SOC
   Hz
   pwm
   mmio
   pad
   prod
   QSPI
   DDR
   ddr
   SDR
   sdr
   BootROM
   val
   qspiflash
   sata
   BPMP
   FW
   UPHY
   uphy
   uart

MB2 BCT Misc Configuration
!!!!!!!!!!!!!!!!!!!!!!!!!!

This section provides additional information about the MB2 BCT Misc configuration file.

MB2 Feature Fields
@@@@@@@@@@@@@@@@@@
Here is a list of the Boolean flags that enable or disable functionality in MB2:

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

   * - Field
     - Description
   * - ``disable-cpu-l2ecc``
     - If this property is present, CPU L2 ECC is disabled. Otherwise, it is enabled.
   * - ``enable-combined-uart``
     - If this property is present, the combined uart is enabled. Otherwise, it is disabled.
   * - ``spe-uart-instance``
     - UART controller that is used for the combined UART by the SPE.

MB2 Firmware Data
@@@@@@@@@@@@@@@@@

The MB2 firmware configuration is applied in the following way: 

.. code-block:: none

   / {
      mb2-misc {
          <firmware-type> {
             <parameter> = <value>;
          };
      };
   };

Where ``firmware-type`` is one of the following types:

- ``cpubl``
- ``ape-fw``
- ``bpmp-fw``
- ``rce-fw``
- ``sce-fw``
- ``camera-task-fw``
- ``apr-fw``

``<parameter>`` is one of the parameters from the following table:

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

   * - Parameters
     - Description
   * - ``enable``
     - If this parameter is present, the loading of firmware from MB2 is enabled. Otherwise, the firmware loading is disabled.
   * - ``ast-va``
     - Virtual address for the firmware carveout in the BPMP-R5 address space.
   * - ``load-offset``
     - Offset in firmware carveout where firmware binary is loaded.
   * - ``entry-offset``
     - Offset of the firmware entry point in the firmware carveout.

Here is an example of the MB2 Misc DTS configuration file:

.. code-block:: none

   /dts-v1/;

   / {
      mb2-misc {
         disable-cpu-l2ecc;
         enable-combined-uart;
         spe-uart-instance = <0x2>;

         firmware {
            sce {
                ast-va = <0x70000000>;
            };
            ape {
                enable;
                ast-va = <0x80000000>;
            };
            rce {
                enable;
                ast-va = <0x70000000>;
            };
            cpubl {
                load-offset = <0x600000>;
            };
            apr {
                ast-va = <0xC0000000>;
            };
            camera-task {
                ast-va = <0x78000000>;
            };
		 };
	  };
   };

Here is the previous CFG file format:

.. code-block:: none

   gpio-intmap.port.B.pin.1 = 0; // GPIO B1 to INT0
   gpio-intmap.port.AA.pin.0 = 0; // GPIO AA0 to INT0
   gpio-intmap.port.AA.pin.1 = 0; // GPIO AA1 to INT0
   gpio-intmap.port.AA.pin.2 = 0; // GPIO AA2 to INT0