141c4567cSKuninori Morimoto# SPDX-License-Identifier: GPL-2.0 28be381a1SGeert Uytterhoevenconfig SOC_RENESAS 38be381a1SGeert Uytterhoeven bool "Renesas SoC driver support" if COMPILE_TEST && !ARCH_RENESAS 48be381a1SGeert Uytterhoeven default y if ARCH_RENESAS 58be381a1SGeert Uytterhoeven select SOC_BUS 68be381a1SGeert Uytterhoeven 78be381a1SGeert Uytterhoevenif SOC_RENESAS 88be381a1SGeert Uytterhoeven 9062887bfSGeert Uytterhoevenconfig ARCH_RCAR_GEN1 10062887bfSGeert Uytterhoeven bool 11062887bfSGeert Uytterhoeven select PM 12062887bfSGeert Uytterhoeven select PM_GENERIC_DOMAINS 13062887bfSGeert Uytterhoeven select RENESAS_INTC_IRQPIN 14062887bfSGeert Uytterhoeven select RST_RCAR 15062887bfSGeert Uytterhoeven select SYS_SUPPORTS_SH_TMU 16062887bfSGeert Uytterhoeven 17062887bfSGeert Uytterhoevenconfig ARCH_RCAR_GEN2 18062887bfSGeert Uytterhoeven bool 19062887bfSGeert Uytterhoeven select HAVE_ARM_ARCH_TIMER 20062887bfSGeert Uytterhoeven select PM 21062887bfSGeert Uytterhoeven select PM_GENERIC_DOMAINS 22062887bfSGeert Uytterhoeven select RENESAS_IRQC 23062887bfSGeert Uytterhoeven select RST_RCAR 24062887bfSGeert Uytterhoeven select SYS_SUPPORTS_SH_CMT 25062887bfSGeert Uytterhoeven 26fa43948fSGeert Uytterhoevenconfig ARCH_RCAR_GEN3 27fa43948fSGeert Uytterhoeven bool 28fa43948fSGeert Uytterhoeven select PM 29fa43948fSGeert Uytterhoeven select PM_GENERIC_DOMAINS 30fa43948fSGeert Uytterhoeven select RENESAS_IRQC 31fa43948fSGeert Uytterhoeven select RST_RCAR 32fa43948fSGeert Uytterhoeven select SYS_SUPPORTS_SH_CMT 33fa43948fSGeert Uytterhoeven select SYS_SUPPORTS_SH_TMU 34fa43948fSGeert Uytterhoeven 35062887bfSGeert Uytterhoevenconfig ARCH_RMOBILE 36062887bfSGeert Uytterhoeven bool 372ed29e15SGeert Uytterhoeven select PM 382ed29e15SGeert Uytterhoeven select PM_GENERIC_DOMAINS 39062887bfSGeert Uytterhoeven select SYS_SUPPORTS_SH_CMT 40062887bfSGeert Uytterhoeven select SYS_SUPPORTS_SH_TMU 412ed29e15SGeert Uytterhoeven select SYSC_RMOBILE 42062887bfSGeert Uytterhoeven 43062887bfSGeert Uytterhoevenconfig ARCH_RZN1 44062887bfSGeert Uytterhoeven bool 45062887bfSGeert Uytterhoeven select ARM_AMBA 46062887bfSGeert Uytterhoeven 478070ba63SArnd Bergmannif ARM && ARCH_RENESAS 48062887bfSGeert Uytterhoeven 49062887bfSGeert Uytterhoeven#comment "Renesas ARM SoCs System Type" 50062887bfSGeert Uytterhoeven 51062887bfSGeert Uytterhoevenconfig ARCH_EMEV2 52062887bfSGeert Uytterhoeven bool "Emma Mobile EV2" 53062887bfSGeert Uytterhoeven select HAVE_ARM_SCU if SMP 54062887bfSGeert Uytterhoeven select SYS_SUPPORTS_EM_STI 55062887bfSGeert Uytterhoeven 56062887bfSGeert Uytterhoevenconfig ARCH_R7S72100 57062887bfSGeert Uytterhoeven bool "RZ/A1H (R7S72100)" 582eced460SGeert Uytterhoeven select ARM_ERRATA_754322 59062887bfSGeert Uytterhoeven select PM 60062887bfSGeert Uytterhoeven select PM_GENERIC_DOMAINS 61062887bfSGeert Uytterhoeven select RENESAS_OSTM 6202af9f90SGeert Uytterhoeven select RENESAS_RZA1_IRQC 6302af9f90SGeert Uytterhoeven select SYS_SUPPORTS_SH_MTU2 64062887bfSGeert Uytterhoeven 65062887bfSGeert Uytterhoevenconfig ARCH_R7S9210 66062887bfSGeert Uytterhoeven bool "RZ/A2 (R7S9210)" 67062887bfSGeert Uytterhoeven select PM 68062887bfSGeert Uytterhoeven select PM_GENERIC_DOMAINS 69062887bfSGeert Uytterhoeven select RENESAS_OSTM 7002af9f90SGeert Uytterhoeven select RENESAS_RZA1_IRQC 71062887bfSGeert Uytterhoeven 72062887bfSGeert Uytterhoevenconfig ARCH_R8A73A4 73062887bfSGeert Uytterhoeven bool "R-Mobile APE6 (R8A73A40)" 74062887bfSGeert Uytterhoeven select ARCH_RMOBILE 75062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 76435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 77062887bfSGeert Uytterhoeven select HAVE_ARM_ARCH_TIMER 78062887bfSGeert Uytterhoeven select RENESAS_IRQC 79062887bfSGeert Uytterhoeven 80062887bfSGeert Uytterhoevenconfig ARCH_R8A7740 81062887bfSGeert Uytterhoeven bool "R-Mobile A1 (R8A77400)" 82062887bfSGeert Uytterhoeven select ARCH_RMOBILE 832eced460SGeert Uytterhoeven select ARM_ERRATA_754322 84062887bfSGeert Uytterhoeven select RENESAS_INTC_IRQPIN 85062887bfSGeert Uytterhoeven 86062887bfSGeert Uytterhoevenconfig ARCH_R8A7743 87062887bfSGeert Uytterhoeven bool "RZ/G1M (R8A77430)" 88062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 89062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 90062887bfSGeert Uytterhoeven select SYSC_R8A7743 91062887bfSGeert Uytterhoeven 92062887bfSGeert Uytterhoevenconfig ARCH_R8A7744 93062887bfSGeert Uytterhoeven bool "RZ/G1N (R8A77440)" 94062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 95062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 96062887bfSGeert Uytterhoeven select SYSC_R8A7743 97062887bfSGeert Uytterhoeven 98062887bfSGeert Uytterhoevenconfig ARCH_R8A7745 99062887bfSGeert Uytterhoeven bool "RZ/G1E (R8A77450)" 100062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 101435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 102062887bfSGeert Uytterhoeven select SYSC_R8A7745 103062887bfSGeert Uytterhoeven 104062887bfSGeert Uytterhoevenconfig ARCH_R8A77470 105062887bfSGeert Uytterhoeven bool "RZ/G1C (R8A77470)" 106062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 107435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 108062887bfSGeert Uytterhoeven select SYSC_R8A77470 109062887bfSGeert Uytterhoeven 110062887bfSGeert Uytterhoevenconfig ARCH_R8A7778 111062887bfSGeert Uytterhoeven bool "R-Car M1A (R8A77781)" 112062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN1 1132eced460SGeert Uytterhoeven select ARM_ERRATA_754322 114062887bfSGeert Uytterhoeven 115062887bfSGeert Uytterhoevenconfig ARCH_R8A7779 116062887bfSGeert Uytterhoeven bool "R-Car H1 (R8A77790)" 117062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN1 1182eced460SGeert Uytterhoeven select ARM_ERRATA_754322 119062887bfSGeert Uytterhoeven select HAVE_ARM_SCU if SMP 120062887bfSGeert Uytterhoeven select HAVE_ARM_TWD if SMP 121062887bfSGeert Uytterhoeven select SYSC_R8A7779 122062887bfSGeert Uytterhoeven 123062887bfSGeert Uytterhoevenconfig ARCH_R8A7790 124062887bfSGeert Uytterhoeven bool "R-Car H2 (R8A77900)" 125062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 126062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 127435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 128062887bfSGeert Uytterhoeven select I2C 129062887bfSGeert Uytterhoeven select SYSC_R8A7790 130062887bfSGeert Uytterhoeven 131062887bfSGeert Uytterhoevenconfig ARCH_R8A7791 132062887bfSGeert Uytterhoeven bool "R-Car M2-W (R8A77910)" 133062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 134062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 135062887bfSGeert Uytterhoeven select I2C 136062887bfSGeert Uytterhoeven select SYSC_R8A7791 137062887bfSGeert Uytterhoeven 138062887bfSGeert Uytterhoevenconfig ARCH_R8A7792 139062887bfSGeert Uytterhoeven bool "R-Car V2H (R8A77920)" 140062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 141062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 142062887bfSGeert Uytterhoeven select SYSC_R8A7792 143062887bfSGeert Uytterhoeven 144062887bfSGeert Uytterhoevenconfig ARCH_R8A7793 145062887bfSGeert Uytterhoeven bool "R-Car M2-N (R8A7793)" 146062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 147062887bfSGeert Uytterhoeven select ARM_ERRATA_798181 if SMP 148062887bfSGeert Uytterhoeven select I2C 149062887bfSGeert Uytterhoeven select SYSC_R8A7791 150062887bfSGeert Uytterhoeven 151062887bfSGeert Uytterhoevenconfig ARCH_R8A7794 152062887bfSGeert Uytterhoeven bool "R-Car E2 (R8A77940)" 153062887bfSGeert Uytterhoeven select ARCH_RCAR_GEN2 154435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 155062887bfSGeert Uytterhoeven select SYSC_R8A7794 156062887bfSGeert Uytterhoeven 157062887bfSGeert Uytterhoevenconfig ARCH_R9A06G032 158062887bfSGeert Uytterhoeven bool "RZ/N1D (R9A06G032)" 159062887bfSGeert Uytterhoeven select ARCH_RZN1 160435dce2dSGeert Uytterhoeven select ARM_ERRATA_814220 161062887bfSGeert Uytterhoeven 162062887bfSGeert Uytterhoevenconfig ARCH_SH73A0 163062887bfSGeert Uytterhoeven bool "SH-Mobile AG5 (R8A73A00)" 164062887bfSGeert Uytterhoeven select ARCH_RMOBILE 1652eced460SGeert Uytterhoeven select ARM_ERRATA_754322 166062887bfSGeert Uytterhoeven select HAVE_ARM_SCU if SMP 167062887bfSGeert Uytterhoeven select HAVE_ARM_TWD if SMP 168062887bfSGeert Uytterhoeven select RENESAS_INTC_IRQPIN 169062887bfSGeert Uytterhoeven 170062887bfSGeert Uytterhoevenendif # ARM 171062887bfSGeert Uytterhoeven 172fa43948fSGeert Uytterhoevenif ARM64 173fa43948fSGeert Uytterhoeven 174fa43948fSGeert Uytterhoevenconfig ARCH_R8A774A1 175fa43948fSGeert Uytterhoeven bool "Renesas RZ/G2M SoC Platform" 176fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 177fa43948fSGeert Uytterhoeven select SYSC_R8A774A1 178fa43948fSGeert Uytterhoeven help 179fa43948fSGeert Uytterhoeven This enables support for the Renesas RZ/G2M SoC. 180fa43948fSGeert Uytterhoeven 181d634055cSBiju Dasconfig ARCH_R8A774B1 182d634055cSBiju Das bool "Renesas RZ/G2N SoC Platform" 183d634055cSBiju Das select ARCH_RCAR_GEN3 1846655c568SBiju Das select SYSC_R8A774B1 185d634055cSBiju Das help 186d634055cSBiju Das This enables support for the Renesas RZ/G2N SoC. 187d634055cSBiju Das 188fa43948fSGeert Uytterhoevenconfig ARCH_R8A774C0 189fa43948fSGeert Uytterhoeven bool "Renesas RZ/G2E SoC Platform" 190fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 191fa43948fSGeert Uytterhoeven select SYSC_R8A774C0 192fa43948fSGeert Uytterhoeven help 193fa43948fSGeert Uytterhoeven This enables support for the Renesas RZ/G2E SoC. 194fa43948fSGeert Uytterhoeven 195fa43948fSGeert Uytterhoevenconfig ARCH_R8A7795 196fa43948fSGeert Uytterhoeven bool "Renesas R-Car H3 SoC Platform" 197fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 198fa43948fSGeert Uytterhoeven select SYSC_R8A7795 199fa43948fSGeert Uytterhoeven help 200fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car H3 SoC. 201fa43948fSGeert Uytterhoeven 20239e57e14SGeert Uytterhoevenconfig ARCH_R8A77960 20339e57e14SGeert Uytterhoeven bool 204fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 205f79edb17SGeert Uytterhoeven select SYSC_R8A77960 20639e57e14SGeert Uytterhoeven 20739e57e14SGeert Uytterhoevenconfig ARCH_R8A7796 20839e57e14SGeert Uytterhoeven bool "Renesas R-Car M3-W SoC Platform" 20939e57e14SGeert Uytterhoeven select ARCH_R8A77960 210fa43948fSGeert Uytterhoeven help 211fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car M3-W SoC. 212fa43948fSGeert Uytterhoeven 213cadadde2SGeert Uytterhoevenconfig ARCH_R8A77961 214cadadde2SGeert Uytterhoeven bool "Renesas R-Car M3-W+ SoC Platform" 215cadadde2SGeert Uytterhoeven select ARCH_RCAR_GEN3 216*bdde3d3eSGeert Uytterhoeven select SYSC_R8A77961 217cadadde2SGeert Uytterhoeven help 218cadadde2SGeert Uytterhoeven This enables support for the Renesas R-Car M3-W+ SoC. 219cadadde2SGeert Uytterhoeven 220fa43948fSGeert Uytterhoevenconfig ARCH_R8A77965 221fa43948fSGeert Uytterhoeven bool "Renesas R-Car M3-N SoC Platform" 222fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 223fa43948fSGeert Uytterhoeven select SYSC_R8A77965 224fa43948fSGeert Uytterhoeven help 225fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car M3-N SoC. 226fa43948fSGeert Uytterhoeven 227fa43948fSGeert Uytterhoevenconfig ARCH_R8A77970 228fa43948fSGeert Uytterhoeven bool "Renesas R-Car V3M SoC Platform" 229fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 230fa43948fSGeert Uytterhoeven select SYSC_R8A77970 231fa43948fSGeert Uytterhoeven help 232fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car V3M SoC. 233fa43948fSGeert Uytterhoeven 234fa43948fSGeert Uytterhoevenconfig ARCH_R8A77980 235fa43948fSGeert Uytterhoeven bool "Renesas R-Car V3H SoC Platform" 236fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 237fa43948fSGeert Uytterhoeven select SYSC_R8A77980 238fa43948fSGeert Uytterhoeven help 239fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car V3H SoC. 240fa43948fSGeert Uytterhoeven 241fa43948fSGeert Uytterhoevenconfig ARCH_R8A77990 242fa43948fSGeert Uytterhoeven bool "Renesas R-Car E3 SoC Platform" 243fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 244fa43948fSGeert Uytterhoeven select SYSC_R8A77990 245fa43948fSGeert Uytterhoeven help 246fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car E3 SoC. 247fa43948fSGeert Uytterhoeven 248fa43948fSGeert Uytterhoevenconfig ARCH_R8A77995 249fa43948fSGeert Uytterhoeven bool "Renesas R-Car D3 SoC Platform" 250fa43948fSGeert Uytterhoeven select ARCH_RCAR_GEN3 251fa43948fSGeert Uytterhoeven select SYSC_R8A77995 252fa43948fSGeert Uytterhoeven help 253fa43948fSGeert Uytterhoeven This enables support for the Renesas R-Car D3 SoC. 254fa43948fSGeert Uytterhoeven 255fa43948fSGeert Uytterhoevenendif # ARM64 256fa43948fSGeert Uytterhoeven 2578be381a1SGeert Uytterhoeven# SoC 2588be381a1SGeert Uytterhoevenconfig SYSC_R8A7743 2598be381a1SGeert Uytterhoeven bool "RZ/G1M System Controller support" if COMPILE_TEST 2608be381a1SGeert Uytterhoeven select SYSC_RCAR 2618be381a1SGeert Uytterhoeven 2628be381a1SGeert Uytterhoevenconfig SYSC_R8A7745 2638be381a1SGeert Uytterhoeven bool "RZ/G1E System Controller support" if COMPILE_TEST 2648be381a1SGeert Uytterhoeven select SYSC_RCAR 2658be381a1SGeert Uytterhoeven 266964f7c0dSBiju Dasconfig SYSC_R8A77470 267964f7c0dSBiju Das bool "RZ/G1C System Controller support" if COMPILE_TEST 268964f7c0dSBiju Das select SYSC_RCAR 269964f7c0dSBiju Das 2707f0e99ccSBiju Dasconfig SYSC_R8A774A1 2717f0e99ccSBiju Das bool "RZ/G2M System Controller support" if COMPILE_TEST 2727f0e99ccSBiju Das select SYSC_RCAR 2737f0e99ccSBiju Das 2746655c568SBiju Dasconfig SYSC_R8A774B1 2756655c568SBiju Das bool "RZ/G2N System Controller support" if COMPILE_TEST 2766655c568SBiju Das select SYSC_RCAR 2776655c568SBiju Das 278f37d211cSFabrizio Castroconfig SYSC_R8A774C0 279f37d211cSFabrizio Castro bool "RZ/G2E System Controller support" if COMPILE_TEST 280f37d211cSFabrizio Castro select SYSC_RCAR 281f37d211cSFabrizio Castro 2828be381a1SGeert Uytterhoevenconfig SYSC_R8A7779 2838be381a1SGeert Uytterhoeven bool "R-Car H1 System Controller support" if COMPILE_TEST 2848be381a1SGeert Uytterhoeven select SYSC_RCAR 2858be381a1SGeert Uytterhoeven 2868be381a1SGeert Uytterhoevenconfig SYSC_R8A7790 2878be381a1SGeert Uytterhoeven bool "R-Car H2 System Controller support" if COMPILE_TEST 2888be381a1SGeert Uytterhoeven select SYSC_RCAR 2898be381a1SGeert Uytterhoeven 2908be381a1SGeert Uytterhoevenconfig SYSC_R8A7791 2918be381a1SGeert Uytterhoeven bool "R-Car M2-W/N System Controller support" if COMPILE_TEST 2928be381a1SGeert Uytterhoeven select SYSC_RCAR 2938be381a1SGeert Uytterhoeven 2948be381a1SGeert Uytterhoevenconfig SYSC_R8A7792 2958be381a1SGeert Uytterhoeven bool "R-Car V2H System Controller support" if COMPILE_TEST 2968be381a1SGeert Uytterhoeven select SYSC_RCAR 2978be381a1SGeert Uytterhoeven 2988be381a1SGeert Uytterhoevenconfig SYSC_R8A7794 2998be381a1SGeert Uytterhoeven bool "R-Car E2 System Controller support" if COMPILE_TEST 3008be381a1SGeert Uytterhoeven select SYSC_RCAR 3018be381a1SGeert Uytterhoeven 3028be381a1SGeert Uytterhoevenconfig SYSC_R8A7795 3038be381a1SGeert Uytterhoeven bool "R-Car H3 System Controller support" if COMPILE_TEST 3048be381a1SGeert Uytterhoeven select SYSC_RCAR 3058be381a1SGeert Uytterhoeven 306f79edb17SGeert Uytterhoevenconfig SYSC_R8A77960 3078be381a1SGeert Uytterhoeven bool "R-Car M3-W System Controller support" if COMPILE_TEST 3088be381a1SGeert Uytterhoeven select SYSC_RCAR 3098be381a1SGeert Uytterhoeven 310*bdde3d3eSGeert Uytterhoevenconfig SYSC_R8A77961 311*bdde3d3eSGeert Uytterhoeven bool "R-Car M3-W+ System Controller support" if COMPILE_TEST 312*bdde3d3eSGeert Uytterhoeven select SYSC_RCAR 313*bdde3d3eSGeert Uytterhoeven 314a527709bSJacopo Mondiconfig SYSC_R8A77965 315a527709bSJacopo Mondi bool "R-Car M3-N System Controller support" if COMPILE_TEST 316a527709bSJacopo Mondi select SYSC_RCAR 317a527709bSJacopo Mondi 318bab9b2a7SSergei Shtylyovconfig SYSC_R8A77970 319bab9b2a7SSergei Shtylyov bool "R-Car V3M System Controller support" if COMPILE_TEST 320bab9b2a7SSergei Shtylyov select SYSC_RCAR 321bab9b2a7SSergei Shtylyov 32241d6d8bdSSergei Shtylyovconfig SYSC_R8A77980 32341d6d8bdSSergei Shtylyov bool "R-Car V3H System Controller support" if COMPILE_TEST 32441d6d8bdSSergei Shtylyov select SYSC_RCAR 32541d6d8bdSSergei Shtylyov 32644b12d43STakeshi Kiharaconfig SYSC_R8A77990 32744b12d43STakeshi Kihara bool "R-Car E3 System Controller support" if COMPILE_TEST 32844b12d43STakeshi Kihara select SYSC_RCAR 32944b12d43STakeshi Kihara 330eed17c42SGeert Uytterhoevenconfig SYSC_R8A77995 331eed17c42SGeert Uytterhoeven bool "R-Car D3 System Controller support" if COMPILE_TEST 332eed17c42SGeert Uytterhoeven select SYSC_RCAR 333eed17c42SGeert Uytterhoeven 3348be381a1SGeert Uytterhoeven# Family 3358be381a1SGeert Uytterhoevenconfig RST_RCAR 3368be381a1SGeert Uytterhoeven bool "R-Car Reset Controller support" if COMPILE_TEST 3378be381a1SGeert Uytterhoeven 3388be381a1SGeert Uytterhoevenconfig SYSC_RCAR 3398be381a1SGeert Uytterhoeven bool "R-Car System Controller support" if COMPILE_TEST 3408be381a1SGeert Uytterhoeven 3412ed29e15SGeert Uytterhoevenconfig SYSC_RMOBILE 3422ed29e15SGeert Uytterhoeven bool "R-Mobile System Controller support" if COMPILE_TEST 3432ed29e15SGeert Uytterhoeven 3448be381a1SGeert Uytterhoevenendif # SOC_RENESAS 345