Hi, usually eTPU engines are called eTPU A and eTPU B, on this device for unknown reason they are called eTPU 1 and eTPU2.
It may be confusing a bit as eTPU, eTPU+ and eTPU2 are shortcuts for eTPU architecture i.e. generation (MPC5746R uses eTPU2). What's exactly the case of fs_etpu2_init function - fs_etpu_init initalizes eTPU module, fs_etpu2_init subsequently initializes specific eTPU2-only setting of an eTPU2 module. It is addendum to fs_etpu_init (that is backward compatible with eTPU).
engine_mem_size is related to engine relative addressing mode
Below screenshot from https://www.nxp.com/docs/en/reference-manual/ETPURMAD.pdf
If the engine_mem_size parameter is 0, then such mode in unused.
To point 3) You can use just one engine, but initialization is common for both engines (A and B)
To point 1) eTPU_A has channels 0-31 and eTPU_B has channels 64-95. To be honest I haven't known it why it is so, but I have found an answer:
"It results from the eTPU memory map. The eTPU A channel registers start at address eTPU_base+0x400, eTPU B channel registers at eTPU_base+0x800. This gives a space for 64 channels to each eTPU engine, although there are only 32 channels implemented. The memory map was designed this way in order to keep a possibility of more channels on future devices"
Hope it helps