MB2 BCT Misc Configuration#

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

MB2 Feature Fields#

The following table lists the Boolean flags that enable or disable functionality in MB2:

Field

Description

enable_ccplex_wdt

If this property is present and set to 1, CPU WDT is configured and enabled.

enable_pva_fw

If this property is present and set to 1, PVA FW is loaded.

enable_tsec

If this property is present and set to 1, TSEC-FW is loaded by MB2 and authenticated by PSC-FW.

reset_fsi_can_controllers

If this property is present and set to 1 and FSI is disabled through AUXP controls, MB2 brings FSI CAN controllers out of reset.

MB2 Firmware Data#

The MB2 firmware configuration is applied in the following way:

/ {
  mb2-misc {
    auxp_controls {
      socket@0 {
        /* Control fields for AON cluster. */
        auxp_controls@<firmware-number> {
          <parameter> = <value>;
        };
      };
    };
  };
};

firmware-number is one of the following types:

  • 0: aon-fw

  • 1: rce-fw

  • 3: dce-fw

  • 4: ape-fw

  • 5: ape1-fw

  • 6: fsi-fw

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

Parameters

Description

enable_init

If this parameter is present and set to 1, prerequisites for loading and running the firmware are performed by MB2. Prerequisites consists of (but are not limited to) power-ungating, clock initialization, and AST configuration.

enable_fw_load

If this parameter is present and set to 1, the loading of firmware from MB2 is enabled. Otherwise, the firmware loading is disabled.

enable_unhalt

If this parameter is present and set to 1, MB2 unhalts the processor and starts running.

reset_vector

Start VA of the firmware.

The MB2 firmware AST configuration is applied in the following way:

/ {
  mb2-misc {
    auxp_ast_config {
      socket@0 {
        auxp_ast_config@<ast_type> {
          streamid-0 = <value1>;
          streamid-1 = <value2>;
          ...
          streamid-N = <valueN>;
          default_carveout_id = <0x0>;
          default_snoop = <snoop_value>;
          matcherrctrl = <matcherrctrl_value>;
          ast_region@<region_number> {
            enable = <enable_value>;
            carveout = <carveout_id>;
            va = <va_value>;
            physical = <physical_value>;
            vm_index = <vm_index_value>;
            aperture_id = <aperture_id_value>;
            snoop = <snoop_value>;
            pa = <64_bit_hex_value_as_two_seperate_32_bit_values_sepatated_by_space>;
            size = <32_bit_hex_value>;
          };
        };
      };
    };
  };
};

<region_number> takes values 0–31.

<ast_type> is one of the parameters from the following table:

AST Types :widths: auto :header-rows: 1#

AST Type

Value

AON CPU

0

AON IDMA

1

RCE CPU

2

DCE CPU

4

APE CPU0

5

APE CPU0 DMA

6

APE CPU1 (APE1 CPU)

7

APE CPU1 DMA (APE1 DMA)

8

APE ADMA

9

APE ASRC

10

FSI R5 CHSM

11

FSI R52 CPU0

12

FSI R52 CPU1

13

FSI R52 CPU2

14

FSI R52 CPU3

15

Other AST Configuration Parameters#

Parameters

Description

streamid-0 .. streamid-N

Stream IDs assigned to the firmware.

default_carveout_id

Specifies the MC carveout ID (GSC-ID) for default accesses.

default_snoop

Specifies whether default accesses snoop the Main CPU caches.

matcherrctrl

Specifies how transactions that do not match a region are handled.
  • 0: Transactions that do not match a region are translated to same as input address.

  • 1: Transactions that do not match a region return a decode error.

enable

Specifies whether to enable the region translation.

carveout

Carveout ID to be mapped in the AST region.

va

Virtual address to be mapped in the AST region.

physical

Specifies whether the AST region physically accesses the target address space and bypasses SMMU.

vm_index

Specifies the virtual machine index used to select the stream ID when physical is set to 0.

aperture_id

Specifies the MC carveout ID (GSC-ID) for the region.

snoop

Specifies whether the region snoops the Main CPU caches.

pa

Physical address to be mapped in the AST region (such as <0x81 0x10000000>). Ignored if carveout is set to non-zero value.

size

Size of the AST region in bytes (such as <0x40000>). Ignored if carveout is set to non-zero value.

The following is an example of the MB2 Misc DTS configuration file:

/dts-v1/;

#include "tegra264-mb2-bct-common.dtsi"

/ {
  mb2-misc {
    auxp_controls {
      socket@0 {
        /* Control fields for AON cluster. */
        auxp_controls@0 {
            enable_init = <1>;
            enable_fw_load = <1>;
        };
      };
    };
  };
};