summaryrefslogtreecommitdiffstats
path: root/bsps/arm
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-04-03 08:12:23 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-12-06 13:35:40 +0100
commit47c4093ad35c74c32a97877c95c46ef21926ac06 (patch)
treee84fafc775189210708837c65c6a924b1ee3e214 /bsps/arm
parentbsp/tms570: Add TMS570_VARIANT (diff)
downloadrtems-47c4093ad35c74c32a97877c95c46ef21926ac06.tar.bz2
bsp/tms570: Add TMS570LC4357 support
Diffstat (limited to 'bsps/arm')
-rw-r--r--bsps/arm/tms570/include/bsp/tms570-pins.h6
-rw-r--r--bsps/arm/tms570/include/bsp/tms570.h22
-rw-r--r--bsps/arm/tms570/start/init_pinmux.c4
3 files changed, 32 insertions, 0 deletions
diff --git a/bsps/arm/tms570/include/bsp/tms570-pins.h b/bsps/arm/tms570/include/bsp/tms570-pins.h
index 32839138d0..058aa6bbab 100644
--- a/bsps/arm/tms570/include/bsp/tms570-pins.h
+++ b/bsps/arm/tms570/include/bsp/tms570-pins.h
@@ -7,4 +7,10 @@
* Defaults to TMS570LS3137ZWT for now.
*/
+#include <bspopts.h>
+
+#if TMS570_VARIANT == 4357
+#include <bsp/tms570lc4357-pins.h>
+#else
#include <bsp/tms570ls3137zwt-pins.h>
+#endif
diff --git a/bsps/arm/tms570/include/bsp/tms570.h b/bsps/arm/tms570/include/bsp/tms570.h
index 86f33f896d..d91e0cce50 100644
--- a/bsps/arm/tms570/include/bsp/tms570.h
+++ b/bsps/arm/tms570/include/bsp/tms570.h
@@ -78,13 +78,21 @@
#include <bsp/ti_herc/reg_sys2.h>
#include <bsp/ti_herc/reg_pcr.h>
+#include <bspopts.h>
+
#define TMS570_ADC1 (*(volatile tms570_adc_t*)0xFFF7C000)
#define TMS570_ADC2 (*(volatile tms570_adc_t*)0xFFF7C200)
#define TMS570_CCMSR (*(volatile tms570_ccmsr_t*)0xFFFFF600)
#define TMS570_CRC (*(volatile tms570_crc_t*)0xFE000000)
+#if TMS570_VARIANT == 4357
+#define TMS570_CRC2 (*(volatile tms570_crc_t*)0xFB000000)
+#endif
#define TMS570_DCAN1 (*(volatile tms570_dcan_t*)0xFFF7DC00)
#define TMS570_DCAN2 (*(volatile tms570_dcan_t*)0xFFF7DE00)
#define TMS570_DCAN3 (*(volatile tms570_dcan_t*)0xFFF7E000)
+#if TMS570_VARIANT == 4357
+#define TMS570_DCAN4 (*(volatile tms570_dcan_t*)0xFFF7E200)
+#endif
#define TMS570_DCC1 (*(volatile tms570_dcc_t*)0xFFFFEC00)
#define TMS570_DCC2 (*(volatile tms570_dcc_t*)0xFFFFF400)
#define TMS570_DMA (*(volatile tms570_dma_t*)0xFFFFF000)
@@ -108,9 +116,20 @@
#define TMS570_HTU1 (*(volatile tms570_htu_t*)0xFFF7A400)
#define TMS570_HTU2 (*(volatile tms570_htu_t*)0xFFF7A500)
#define TMS570_I2C (*(volatile tms570_i2c_t*)0xFFF7D400)
+#if TMS570_VARIANT == 4357
+#define TMS570_I2C2 (*(volatile tms570_i2c_t*)0xFFF7D500)
+#endif
+#if TMS570_VARIANT == 4357
+#define TMS570_IOMM (*(volatile tms570_iomm_t*)0xFFFF1C00)
+#define TMS570_PINMUX (*(volatile tms570_pinmux_t*)0xFFFF1D10)
+#else
#define TMS570_IOMM (*(volatile tms570_iomm_t*)0xFFFFEA00)
#define TMS570_PINMUX (*(volatile tms570_pinmux_t*)0xFFFFEB10)
+#endif
#define TMS570_LIN (*(volatile tms570_lin_t*)0xFFF7E400)
+#if TMS570_VARIANT == 4357
+#define TMS570_LIN2 (*(volatile tms570_lin_t*)0xFFF7E600)
+#endif
#define TMS570_MDIO (*(volatile tms570_mdio_t*)0xFCF78900)
#define TMS570_NHET1 (*(volatile tms570_nhet_t*)0xFFF7B800)
#define TMS570_NHET2 (*(volatile tms570_nhet_t*)0xFFF7B900)
@@ -120,6 +139,9 @@
#define TMS570_RTI (*(volatile tms570_rti_t*)0xFFFFFC00)
#define TMS570_RTP (*(volatile tms570_rtp_t*)0xFFFFFA00)
#define TMS570_SCI (*(volatile tms570_sci_t*)0xFFF7E500)
+#if TMS570_VARIANT == 4357
+#define TMS570_SCI2 (*(volatile tms570_sci_t*)0xFFF7E700)
+#endif
#define TMS570_TCR (*(volatile tms570_tcr_t*)0xFFF7C800)
#define TMS570_TCRAM1 (*(volatile tms570_tcram_t*)0xFFFFF800)
#define TMS570_TCRAM2 (*(volatile tms570_tcram_t*)0xFFFFF900)
diff --git a/bsps/arm/tms570/start/init_pinmux.c b/bsps/arm/tms570/start/init_pinmux.c
index e86a115541..e0d3a38f4c 100644
--- a/bsps/arm/tms570/start/init_pinmux.c
+++ b/bsps/arm/tms570/start/init_pinmux.c
@@ -45,6 +45,10 @@
per_pin_action(common_arg, TMS570_BALL_E3_HET2_18)
#endif
+#elif TMS570_VARIANT == 4357
+
+#define TMS570_PINMMR_INIT_LIST( per_pin_action, common_arg )
+
#else
/*