docs(stm32mp2): introduce new STM32MP23 family

STM32MP23 is a derivative from STM32MP25. It comes in 3 different lines:
- STM32MP235: Dual Cortex-A35 + Cortex-M33 - 2x Ethernet - 2x CAN FD
              H264 - 3D GPU - AI / NN - LVDS / DSI
- STM32MP233: Dual Cortex-A35 + Cortex-M33 - 2x Ethernet - 2x CAN FD
- STM32MP231: Single Cortex-A35 + Cortex-M33 - 1x Ethernet

Change-Id: Iaf3dd7e0c1eda055063361af3c98855b1272d4c6
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
diff --git a/docs/plat/st/stm32mp2.rst b/docs/plat/st/stm32mp2.rst
index d63fc50..e64b989 100644
--- a/docs/plat/st/stm32mp2.rst
+++ b/docs/plat/st/stm32mp2.rst
@@ -14,6 +14,7 @@
 
 Here are the variants for STM32MP2:
 - STM32MP21
+- STM32MP23
 - STM32MP25
 
 STM32MP21 Versions
@@ -31,6 +32,21 @@
 - D      Basic + Cortex-A35 @ 1.5GHz
 - F      Secure Boot + HW Crypto + Cortex-A35 @ 1.5GHz
 
+STM32MP23 Versions
+~~~~~~~~~~~~~~~~~~
+The STM32MP23 series is available in 3 different lines which are pin-to-pin compatible:
+
+- STM32MP235: Dual Cortex-A35 + Cortex-M33 - 2x Ethernet - 2x CAN FD - H264 - 3D GPU - AI / NN - LVDS / DSI
+- STM32MP233: Dual Cortex-A35 + Cortex-M33 - 2x Ethernet - 2x CAN FD
+- STM32MP231: Single Cortex-A35 + Cortex-M33 - 1x Ethernet
+
+Each line comes with a security option (cryptography & secure boot) and a Cortex-A frequency option:
+
+- A      Basic + Cortex-A35 @ 1.2GHz
+- C      Secure Boot + HW Crypto + Cortex-A35 @ 1.2GHz
+- D      Basic + Cortex-A35 @ 1.5GHz
+- F      Secure Boot + HW Crypto + Cortex-A35 @ 1.5GHz
+
 STM32MP25 Versions
 ~~~~~~~~~~~~~~~~~~
 The STM32MP25 series is available in 4 different lines which are pin-to-pin compatible:
@@ -93,6 +109,8 @@
   | Default: 1
 - | ``STM32MP21``: to select STM32MP21 variant configuration.
   | Default: 0
+- | ``STM32MP23``: to select STM32MP23 variant configuration.
+  | Default: 0
 - | ``STM32MP25``: to select STM32MP25 variant configuration.
   | Default: 1
 
diff --git a/plat/st/stm32mp2/platform.mk b/plat/st/stm32mp2/platform.mk
index 653b9d9..249b796 100644
--- a/plat/st/stm32mp2/platform.mk
+++ b/plat/st/stm32mp2/platform.mk
@@ -31,19 +31,24 @@
 DTB_FILE_NAME			?=	stm32mp257f-ev1.dtb
 
 STM32MP21			?=	0
+STM32MP23			?=	0
 STM32MP25			?=	0
 
 ifneq ($(findstring stm32mp21,$(DTB_FILE_NAME)),)
 STM32MP21			:=	1
 endif
+ifneq ($(findstring stm32mp23,$(DTB_FILE_NAME)),)
+STM32MP23			:=	1
+endif
 ifneq ($(findstring stm32mp25,$(DTB_FILE_NAME)),)
 STM32MP25			:=	1
 endif
-ifneq ($(filter 1,$(STM32MP21) $(STM32MP25)), 1)
+ifneq ($(filter 1,$(STM32MP21) $(STM32MP23) $(STM32MP25)), 1)
 $(warning STM32MP21=$(STM32MP21))
+$(warning STM32MP23=$(STM32MP23))
 $(warning STM32MP25=$(STM32MP25))
 $(warning DTB_FILE_NAME=$(DTB_FILE_NAME))
-$(error Cannot enable 2 flags STM32MP2X)
+$(error Cannot enable more than one STM32MP2x flag)
 endif
 
 # STM32 image header version v2.2 or v2.3 for STM32MP21
@@ -129,6 +134,7 @@
 		STM32MP_DDR4_TYPE \
 		STM32MP_LPDDR4_TYPE \
 		STM32MP21 \
+		STM32MP23 \
 		STM32MP25 \
 		STM32MP_BL33_EL1 \
 )))
@@ -153,6 +159,7 @@
 		STM32MP_DDR4_TYPE \
 		STM32MP_LPDDR4_TYPE \
 		STM32MP21 \
+		STM32MP23 \
 		STM32MP25 \
 		STM32MP_BL33_EL1 \
 )))