From 260c2676d4bd94675f62dff23262647cfc9edfe0 Mon Sep 17 00:00:00 2001
From: Gregory Nutt <gnutt@nuttx.org>
Date: Sat, 14 Jun 2014 10:42:53 -0600
Subject: [PATCH] SAMA5D4: Correct MATRIX register addresses

---
 arch/arm/src/sama5/chip/sam_matrix.h | 433 +++++++++++++++++++--------
 1 file changed, 310 insertions(+), 123 deletions(-)

diff --git a/arch/arm/src/sama5/chip/sam_matrix.h b/arch/arm/src/sama5/chip/sam_matrix.h
index 9522590cc3..751dcb5f57 100644
--- a/arch/arm/src/sama5/chip/sam_matrix.h
+++ b/arch/arm/src/sama5/chip/sam_matrix.h
@@ -50,6 +50,10 @@
  * Pre-processor Definitions
  ****************************************************************************************/
 
+#ifdef ATSAMA5D4
+#  define H64MX_DDR_SLAVE_PORT0          3
+#endif
+
 /* MATRIX register offsets **************************************************************/
 
 #define SAM_MATRIX_MCFG_OFFSET(n)        ((n)<<2)
@@ -206,78 +210,72 @@
 
 /* MATRIX register addresses ************************************************************/
 
-#define SAM_MATRIX_MCFG(n))              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG_OFFSET(n))
-#define SAM_MATRIX_MCFG0                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG0_OFFSET)
-#define SAM_MATRIX_MCFG1                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG1_OFFSET)
-#define SAM_MATRIX_MCFG2                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG2_OFFSET)
-#define SAM_MATRIX_MCFG3                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG3_OFFSET)
-#define SAM_MATRIX_MCFG4                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG4_OFFSET)
-#define SAM_MATRIX_MCFG5                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG5_OFFSET)
-#define SAM_MATRIX_MCFG6                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG6_OFFSET)
-#define SAM_MATRIX_MCFG7                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG7_OFFSET)
-#define SAM_MATRIX_MCFG8                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG8_OFFSET)
-#define SAM_MATRIX_MCFG9                 (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG9_OFFSET)
-
 #ifdef ATSAMA5D3
+#  define SAM_MATRIX_MCFG(n))            (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG_OFFSET(n))
+#  define SAM_MATRIX_MCFG0               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG0_OFFSET)
+#  define SAM_MATRIX_MCFG1               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG1_OFFSET)
+#  define SAM_MATRIX_MCFG2               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG2_OFFSET)
+#  define SAM_MATRIX_MCFG3               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG3_OFFSET)
+#  define SAM_MATRIX_MCFG4               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG4_OFFSET)
+#  define SAM_MATRIX_MCFG5               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG5_OFFSET)
+#  define SAM_MATRIX_MCFG6               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG6_OFFSET)
+#  define SAM_MATRIX_MCFG7               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG7_OFFSET)
+#  define SAM_MATRIX_MCFG8               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG8_OFFSET)
+#  define SAM_MATRIX_MCFG9               (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG9_OFFSET)
 #  define SAM_MATRIX_MCFG10              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG10_OFFSET)
 #  define SAM_MATRIX_MCFG11              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG11_OFFSET)
 #  define SAM_MATRIX_MCFG12              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG12_OFFSET)
 #  define SAM_MATRIX_MCFG13              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG13_OFFSET)
 #  define SAM_MATRIX_MCFG14              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG14_OFFSET)
 #  define SAM_MATRIX_MCFG15              (SAM_MATRIX_VBASE+SAM_MATRIX_MCFG15_OFFSET)
-#endif
 
-#define SAM_MATRIX_SCFG(n)               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG_OFFSET(n))
-#define SAM_MATRIX_SCFG0                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG0_OFFSET)
-#define SAM_MATRIX_SCFG1                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG1_OFFSET)
-#define SAM_MATRIX_SCFG2                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG2_OFFSET)
-#define SAM_MATRIX_SCFG3                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG3_OFFSET)
-#define SAM_MATRIX_SCFG4                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG4_OFFSET)
-#define SAM_MATRIX_SCFG5                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG5_OFFSET)
-#define SAM_MATRIX_SCFG6                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG6_OFFSET)
-#define SAM_MATRIX_SCFG7                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG7_OFFSET)
-#define SAM_MATRIX_SCFG8                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG8_OFFSET)
-#define SAM_MATRIX_SCFG9                 (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG9_OFFSET)
-#define SAM_MATRIX_SCFG10                (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG10_OFFSET)
-#define SAM_MATRIX_SCFG11                (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG11_OFFSET)
-#define SAM_MATRIX_SCFG12                (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG12_OFFSET)
-
-#ifdef ATSAMA5D3
+#  define SAM_MATRIX_SCFG(n)             (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG_OFFSET(n))
+#  define SAM_MATRIX_SCFG0               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG0_OFFSET)
+#  define SAM_MATRIX_SCFG1               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG1_OFFSET)
+#  define SAM_MATRIX_SCFG2               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG2_OFFSET)
+#  define SAM_MATRIX_SCFG3               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG3_OFFSET)
+#  define SAM_MATRIX_SCFG4               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG4_OFFSET)
+#  define SAM_MATRIX_SCFG5               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG5_OFFSET)
+#  define SAM_MATRIX_SCFG6               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG6_OFFSET)
+#  define SAM_MATRIX_SCFG7               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG7_OFFSET)
+#  define SAM_MATRIX_SCFG8               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG8_OFFSET)
+#  define SAM_MATRIX_SCFG9               (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG9_OFFSET)
+#  define SAM_MATRIX_SCFG10              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG10_OFFSET)
+#  define SAM_MATRIX_SCFG11              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG11_OFFSET)
+#  define SAM_MATRIX_SCFG12              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG12_OFFSET)
 #  define SAM_MATRIX_SCFG13              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG13_OFFSET)
 #  define SAM_MATRIX_SCFG14              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG14_OFFSET)
 #  define SAM_MATRIX_SCFG15              (SAM_MATRIX_VBASE+SAM_MATRIX_SCFG15_OFFSET)
-#endif
 
-#define SAM_MATRIX_PRAS(n)               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS_OFFSET(n))
-#define SAM_MATRIX_PRBS(n)               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS_OFFSET(n))
-#define SAM_MATRIX_PRAS0                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS0_OFFSET)
-#define SAM_MATRIX_PRBS0                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS0_OFFSET)
-#define SAM_MATRIX_PRAS1                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS1_OFFSET)
-#define SAM_MATRIX_PRBS1                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS1_OFFSET)
-#define SAM_MATRIX_PRAS2                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS2_OFFSET)
-#define SAM_MATRIX_PRBS2                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS2_OFFSET)
-#define SAM_MATRIX_PRAS3                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS3_OFFSET)
-#define SAM_MATRIX_PRBS3                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS3_OFFSET)
-#define SAM_MATRIX_PRAS4                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS4_OFFSET)
-#define SAM_MATRIX_PRBS4                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS4_OFFSET)
-#define SAM_MATRIX_PRAS5                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS5_OFFSET)
-#define SAM_MATRIX_PRBS5                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS5_OFFSET)
-#define SAM_MATRIX_PRAS6                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS6_OFFSET)
-#define SAM_MATRIX_PRBS6                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS6_OFFSET)
-#define SAM_MATRIX_PRAS7                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS7_OFFSET)
-#define SAM_MATRIX_PRBS7                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS7_OFFSET)
-#define SAM_MATRIX_PRAS8                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS8_OFFSET)
-#define SAM_MATRIX_PRBS8                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS8_OFFSET)
-#define SAM_MATRIX_PRAS9                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS9_OFFSET)
-#define SAM_MATRIX_PRBS9                 (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS9_OFFSET)
-#define SAM_MATRIX_PRAS10                (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS10_OFFSET)
-#define SAM_MATRIX_PRBS10                (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS10_OFFSET)
-#define SAM_MATRIX_PRAS11                (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS11_OFFSET)
-#define SAM_MATRIX_PRBS11                (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS11_OFFSET)
-#define SAM_MATRIX_PRAS12                (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS12_OFFSET)
-#define SAM_MATRIX_PRBS12                (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS12_OFFSET)
+#  define SAM_MATRIX_PRAS(n)             (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS_OFFSET(n))
+#  define SAM_MATRIX_PRBS(n)             (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS_OFFSET(n))
+#  define SAM_MATRIX_PRAS0               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS0_OFFSET)
+#  define SAM_MATRIX_PRBS0               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS0_OFFSET)
+#  define SAM_MATRIX_PRAS1               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS1_OFFSET)
+#  define SAM_MATRIX_PRBS1               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS1_OFFSET)
+#  define SAM_MATRIX_PRAS2               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS2_OFFSET)
+#  define SAM_MATRIX_PRBS2               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS2_OFFSET)
+#  define SAM_MATRIX_PRAS3               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS3_OFFSET)
+#  define SAM_MATRIX_PRBS3               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS3_OFFSET)
+#  define SAM_MATRIX_PRAS4               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS4_OFFSET)
+#  define SAM_MATRIX_PRBS4               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS4_OFFSET)
+#  define SAM_MATRIX_PRAS5               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS5_OFFSET)
+#  define SAM_MATRIX_PRBS5               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS5_OFFSET)
+#  define SAM_MATRIX_PRAS6               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS6_OFFSET)
+#  define SAM_MATRIX_PRBS6               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS6_OFFSET)
+#  define SAM_MATRIX_PRAS7               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS7_OFFSET)
+#  define SAM_MATRIX_PRBS7               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS7_OFFSET)
+#  define SAM_MATRIX_PRAS8               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS8_OFFSET)
+#  define SAM_MATRIX_PRBS8               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS8_OFFSET)
+#  define SAM_MATRIX_PRAS9               (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS9_OFFSET)
+#  define SAM_MATRIX_PRBS9               (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS9_OFFSET)
+#  define SAM_MATRIX_PRAS10              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS10_OFFSET)
+#  define SAM_MATRIX_PRBS10              (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS10_OFFSET)
+#  define SAM_MATRIX_PRAS11              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS11_OFFSET)
+#  define SAM_MATRIX_PRBS11              (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS11_OFFSET)
+#  define SAM_MATRIX_PRAS12              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS12_OFFSET)
+#  define SAM_MATRIX_PRBS12              (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS12_OFFSET)
 
-#ifdef ATSAMA5D3
 #  define SAM_MATRIX_PRAS13              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS13_OFFSET)
 #  define SAM_MATRIX_PRBS13              (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS13_OFFSET)
 #  define SAM_MATRIX_PRAS14              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS14_OFFSET)
@@ -285,78 +283,267 @@
 #  define SAM_MATRIX_PRAS15              (SAM_MATRIX_VBASE+SAM_MATRIX_PRAS15_OFFSET)
 #  define SAM_MATRIX_PRBS15              (SAM_MATRIX_VBASE+SAM_MATRIX_PRBS15_OFFSET)
 #  define SAM_MATRIX_MRCR                (SAM_MATRIX_VBASE+SAM_MATRIX_MRCR_OFFSET)
-#endif
+
+#  define SAM_MATRIX_WPMR                (SAM_MATRIX_VBASE+SAM_MATRIX_WPMR_OFFSET)
+#  define SAM_MATRIX_WPSR                (SAM_MATRIX_VBASE+SAM_MATRIX_WPSR_OFFSET)
+
+#endif /* ATSAMA5D3 */
 
 #ifdef ATSAMA5D4
-#  define SAM_MATRIX_MEIER               (SAM_MATRIX_VBASE+SAM_MATRIX_MEIER_OFFSET)
-#  define SAM_MATRIX_MEIDR               (SAM_MATRIX_VBASE+SAM_MATRIX_MEIDR_OFFSET
-#  define SAM_MATRIX_MEIMR               (SAM_MATRIX_VBASE+SAM_MATRIX_MEIMR_OFFSET)
-#  define SAM_MATRIX_MESR                (SAM_MATRIX_VBASE+SAM_MATRIX_MESR_OFFSET)
+/* HMATRIX0 (H64MX)
+ *
+ *
+ */
 
-#  define SAM_MATRIX_MEAR0               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR0_OFFSET)
-#  define SAM_MATRIX_MEAR1               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR1_OFFSET)
-#  define SAM_MATRIX_MEAR2               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR2_OFFSET)
-#  define SAM_MATRIX_MEAR3               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR3_OFFSET)
-#  define SAM_MATRIX_MEAR4               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR4_OFFSET)
-#  define SAM_MATRIX_MEAR5               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR5_OFFSET)
-#  define SAM_MATRIX_MEAR6               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR6_OFFSET)
-#  define SAM_MATRIX_MEAR7               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR7_OFFSET)
-#  define SAM_MATRIX_MEAR8               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR8_OFFSET)
-#  define SAM_MATRIX_MEAR9               (SAM_MATRIX_VBASE+SAM_MATRIX_MEAR9_OFFSET)
-#endif
+#  define SAM_MATRIX0_MCFG(n))           (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG_OFFSET(n))
+#  define SAM_MATRIX0_MCFG0              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG0_OFFSET)
+#  define SAM_MATRIX0_MCFG1              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG1_OFFSET)
+#  define SAM_MATRIX0_MCFG2              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG2_OFFSET)
+#  define SAM_MATRIX0_MCFG3              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG3_OFFSET)
+#  define SAM_MATRIX0_MCFG4              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG4_OFFSET)
+#  define SAM_MATRIX0_MCFG5              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG5_OFFSET)
+#  define SAM_MATRIX0_MCFG6              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG6_OFFSET)
+#  define SAM_MATRIX0_MCFG7              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG7_OFFSET)
+#  define SAM_MATRIX0_MCFG8              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG8_OFFSET)
+#  define SAM_MATRIX0_MCFG9              (SAM_MATRIX64_VBASE+SAM_MATRIX_MCFG9_OFFSET)
 
-#define SAM_MATRIX_WPMR                  (SAM_MATRIX_VBASE+SAM_MATRIX_WPMR_OFFSET)
-#define SAM_MATRIX_WPSR                  (SAM_MATRIX_VBASE+SAM_MATRIX_WPSR_OFFSET)
+#  define SAM_MATRIX0_SCFG(n)            (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG_OFFSET(n))
+#  define SAM_MATRIX0_SCFG0              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG0_OFFSET)
+#  define SAM_MATRIX0_SCFG1              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG1_OFFSET)
+#  define SAM_MATRIX0_SCFG2              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG2_OFFSET)
+#  define SAM_MATRIX0_SCFG3              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG3_OFFSET)
+#  define SAM_MATRIX0_SCFG4              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG4_OFFSET)
+#  define SAM_MATRIX0_SCFG5              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG5_OFFSET)
+#  define SAM_MATRIX0_SCFG6              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG6_OFFSET)
+#  define SAM_MATRIX0_SCFG7              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG7_OFFSET)
+#  define SAM_MATRIX0_SCFG8              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG8_OFFSET)
+#  define SAM_MATRIX0_SCFG9              (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG9_OFFSET)
+#  define SAM_MATRIX0_SCFG10             (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG10_OFFSET)
+#  define SAM_MATRIX0_SCFG11             (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG11_OFFSET)
+#  define SAM_MATRIX0_SCFG12             (SAM_MATRIX64_VBASE+SAM_MATRIX_SCFG12_OFFSET)
 
-#ifdef ATSAMA5D4
-#  define SAM_MATRIX_SSR(n)              (SAM_MATRIX_VBASE+SAM_MATRIX_SSR_OFFSET(n))
-#  define SAM_MATRIX_SSR0                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR0_OFFSET)
-#  define SAM_MATRIX_SSR1                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR1_OFFSET)
-#  define SAM_MATRIX_SSR2                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR2_OFFSET)
-#  define SAM_MATRIX_SSR3                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR3_OFFSET)
-#  define SAM_MATRIX_SSR4                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR4_OFFSET)
-#  define SAM_MATRIX_SSR5                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR5_OFFSET)
-#  define SAM_MATRIX_SSR6                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR6_OFFSET)
-#  define SAM_MATRIX_SSR7                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR7_OFFSET)
-#  define SAM_MATRIX_SSR8                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR8_OFFSET)
-#  define SAM_MATRIX_SSR9                (SAM_MATRIX_VBASE+SAM_MATRIX_SSR9_OFFSET)
-#  define SAM_MATRIX_SSR10               (SAM_MATRIX_VBASE+SAM_MATRIX_SSR10_OFFSET)
-#  define SAM_MATRIX_SSR11               (SAM_MATRIX_VBASE+SAM_MATRIX_SSR11_OFFSET)
-#  define SAM_MATRIX_SSR12               (SAM_MATRIX_VBASE+SAM_MATRIX_SSR12_OFFSET)
+#  define SAM_MATRIX0_PRAS(n)            (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS_OFFSET(n))
+#  define SAM_MATRIX0_PRBS(n)            (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS_OFFSET(n))
+#  define SAM_MATRIX0_PRAS0              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS0_OFFSET)
+#  define SAM_MATRIX0_PRBS0              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS0_OFFSET)
+#  define SAM_MATRIX0_PRAS1              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS1_OFFSET)
+#  define SAM_MATRIX0_PRBS1              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS1_OFFSET)
+#  define SAM_MATRIX0_PRAS2              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS2_OFFSET)
+#  define SAM_MATRIX0_PRBS2              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS2_OFFSET)
+#  define SAM_MATRIX0_PRAS3              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS3_OFFSET)
+#  define SAM_MATRIX0_PRBS3              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS3_OFFSET)
+#  define SAM_MATRIX0_PRAS4              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS4_OFFSET)
+#  define SAM_MATRIX0_PRBS4              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS4_OFFSET)
+#  define SAM_MATRIX0_PRAS5              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS5_OFFSET)
+#  define SAM_MATRIX0_PRBS5              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS5_OFFSET)
+#  define SAM_MATRIX0_PRAS6              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS6_OFFSET)
+#  define SAM_MATRIX0_PRBS6              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS6_OFFSET)
+#  define SAM_MATRIX0_PRAS7              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS7_OFFSET)
+#  define SAM_MATRIX0_PRBS7              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS7_OFFSET)
+#  define SAM_MATRIX0_PRAS8              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS8_OFFSET)
+#  define SAM_MATRIX0_PRBS8              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS8_OFFSET)
+#  define SAM_MATRIX0_PRAS9              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS9_OFFSET)
+#  define SAM_MATRIX0_PRBS9              (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS9_OFFSET)
+#  define SAM_MATRIX0_PRAS10             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS10_OFFSET)
+#  define SAM_MATRIX0_PRBS10             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS10_OFFSET)
+#  define SAM_MATRIX0_PRAS11             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS11_OFFSET)
+#  define SAM_MATRIX0_PRBS11             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS11_OFFSET)
+#  define SAM_MATRIX0_PRAS12             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRAS12_OFFSET)
+#  define SAM_MATRIX0_PRBS12             (SAM_MATRIX64_VBASE+SAM_MATRIX_PRBS12_OFFSET)
 
-#  define SAM_MATRIX_SASSR(n)            (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR_OFFSET(n))
-#  define SAM_MATRIX_SASSR0              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR0_OFFSET)
-#  define SAM_MATRIX_SASSR1              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR1_OFFSET)
-#  define SAM_MATRIX_SASSR2              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR2_OFFSET)
-#  define SAM_MATRIX_SASSR3              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR3_OFFSET)
-#  define SAM_MATRIX_SASSR4              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR4_OFFSET)
-#  define SAM_MATRIX_SASSR5              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR5_OFFSET)
-#  define SAM_MATRIX_SASSR6              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR6_OFFSET)
-#  define SAM_MATRIX_SASSR7              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR7_OFFSET)
-#  define SAM_MATRIX_SASSR8              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR8_OFFSET)
-#  define SAM_MATRIX_SASSR9              (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR9_OFFSET)
-#  define SAM_MATRIX_SASSR10             (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR10_OFFSET)
-#  define SAM_MATRIX_SASSR11             (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR11_OFFSET)
-#  define SAM_MATRIX_SASSR12             (SAM_MATRIX_VBASE+SAM_MATRIX_SASSR12_OFFSET)
+#  define SAM_MATRIX0_MEIER              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEIER_OFFSET)
+#  define SAM_MATRIX0_MEIDR              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEIDR_OFFSET
+#  define SAM_MATRIX0_MEIMR              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEIMR_OFFSET)
+#  define SAM_MATRIX0_MESR               (SAM_MATRIX64_VBASE+SAM_MATRIX_MESR_OFFSET)
 
-#  define SAM_MATRIX_SRTSR(n)            (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR_OFFSET(n))
-#  define SAM_MATRIX_SRTSR1              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR1_OFFSET)
-#  define SAM_MATRIX_SRTSR2              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR2_OFFSET)
-#  define SAM_MATRIX_SRTSR3              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR3_OFFSET)
-#  define SAM_MATRIX_SRTSR4              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR4_OFFSET)
-#  define SAM_MATRIX_SRTSR5              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR5_OFFSET)
-#  define SAM_MATRIX_SRTSR6              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR6_OFFSET)
-#  define SAM_MATRIX_SRTSR7              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR7_OFFSET)
-#  define SAM_MATRIX_SRTSR8              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR8_OFFSET)
-#  define SAM_MATRIX_SRTSR9              (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR9_OFFSET)
-#  define SAM_MATRIX_SRTSR10             (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR10_OFFSET)
-#  define SAM_MATRIX_SRTSR11             (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR11_OFFSET)
-#  define SAM_MATRIX_SRTSR12             (SAM_MATRIX_VBASE+SAM_MATRIX_SRTSR12_OFFSET)
+#  define SAM_MATRIX0_MEAR0              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR0_OFFSET)
+#  define SAM_MATRIX0_MEAR1              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR1_OFFSET)
+#  define SAM_MATRIX0_MEAR2              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR2_OFFSET)
+#  define SAM_MATRIX0_MEAR3              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR3_OFFSET)
+#  define SAM_MATRIX0_MEAR4              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR4_OFFSET)
+#  define SAM_MATRIX0_MEAR5              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR5_OFFSET)
+#  define SAM_MATRIX0_MEAR6              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR6_OFFSET)
+#  define SAM_MATRIX0_MEAR7              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR7_OFFSET)
+#  define SAM_MATRIX0_MEAR8              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR8_OFFSET)
+#  define SAM_MATRIX0_MEAR9              (SAM_MATRIX64_VBASE+SAM_MATRIX_MEAR9_OFFSET)
 
-#  define SAM_MATRIX_SPSELR1             (SAM_MATRIX_VBASE+SAM_MATRIX_SPSELR1_OFFSET)
-#  define SAM_MATRIX_SPSELR2             (SAM_MATRIX_VBASE+SAM_MATRIX_SPSELR2_OFFSET)
-#  define SAM_MATRIX_SPSELR3             (SAM_MATRIX_VBASE+SAM_MATRIX_SPSELR3_OFFSET)
-#endif
+#  define SAM_MATRIX0_WPMR               (SAM_MATRIX64_VBASE+SAM_MATRIX_WPMR_OFFSET)
+#  define SAM_MATRIX0_WPSR               (SAM_MATRIX64_VBASE+SAM_MATRIX_WPSR_OFFSET)
+
+#  define SAM_MATRIX0_SSR(n)             (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR_OFFSET(n))
+#  define SAM_MATRIX0_SSR0               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR0_OFFSET)
+#  define SAM_MATRIX0_SSR1               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR1_OFFSET)
+#  define SAM_MATRIX0_SSR2               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR2_OFFSET)
+#  define SAM_MATRIX0_SSR3               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR3_OFFSET)
+#  define SAM_MATRIX0_SSR4               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR4_OFFSET)
+#  define SAM_MATRIX0_SSR5               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR5_OFFSET)
+#  define SAM_MATRIX0_SSR6               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR6_OFFSET)
+#  define SAM_MATRIX0_SSR7               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR7_OFFSET)
+#  define SAM_MATRIX0_SSR8               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR8_OFFSET)
+#  define SAM_MATRIX0_SSR9               (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR9_OFFSET)
+#  define SAM_MATRIX0_SSR10              (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR10_OFFSET)
+#  define SAM_MATRIX0_SSR11              (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR11_OFFSET)
+#  define SAM_MATRIX0_SSR12              (SAM_MATRIX64_VBASE+SAM_MATRIX_SSR12_OFFSET)
+
+#  define SAM_MATRIX0_SASSR(n)           (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR_OFFSET(n))
+#  define SAM_MATRIX0_SASSR0             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR0_OFFSET)
+#  define SAM_MATRIX0_SASSR1             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR1_OFFSET)
+#  define SAM_MATRIX0_SASSR2             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR2_OFFSET)
+#  define SAM_MATRIX0_SASSR3             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR3_OFFSET)
+#  define SAM_MATRIX0_SASSR4             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR4_OFFSET)
+#  define SAM_MATRIX0_SASSR5             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR5_OFFSET)
+#  define SAM_MATRIX0_SASSR6             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR6_OFFSET)
+#  define SAM_MATRIX0_SASSR7             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR7_OFFSET)
+#  define SAM_MATRIX0_SASSR8             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR8_OFFSET)
+#  define SAM_MATRIX0_SASSR9             (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR9_OFFSET)
+#  define SAM_MATRIX0_SASSR10            (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR10_OFFSET)
+#  define SAM_MATRIX0_SASSR11            (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR11_OFFSET)
+#  define SAM_MATRIX0_SASSR12            (SAM_MATRIX64_VBASE+SAM_MATRIX_SASSR12_OFFSET)
+
+#  define SAM_MATRIX0_SRTSR(n)           (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR_OFFSET(n))
+#  define SAM_MATRIX0_SRTSR1             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR1_OFFSET)
+#  define SAM_MATRIX0_SRTSR2             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR2_OFFSET)
+#  define SAM_MATRIX0_SRTSR3             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR3_OFFSET)
+#  define SAM_MATRIX0_SRTSR4             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR4_OFFSET)
+#  define SAM_MATRIX0_SRTSR5             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR5_OFFSET)
+#  define SAM_MATRIX0_SRTSR6             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR6_OFFSET)
+#  define SAM_MATRIX0_SRTSR7             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR7_OFFSET)
+#  define SAM_MATRIX0_SRTSR8             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR8_OFFSET)
+#  define SAM_MATRIX0_SRTSR9             (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR9_OFFSET)
+#  define SAM_MATRIX0_SRTSR10            (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR10_OFFSET)
+#  define SAM_MATRIX0_SRTSR11            (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR11_OFFSET)
+#  define SAM_MATRIX0_SRTSR12            (SAM_MATRIX64_VBASE+SAM_MATRIX_SRTSR12_OFFSET)
+
+#  define SAM_MATRIX0_SPSELR1            (SAM_MATRIX64_VBASE+SAM_MATRIX_SPSELR1_OFFSET)
+#  define SAM_MATRIX0_SPSELR2            (SAM_MATRIX64_VBASE+SAM_MATRIX_SPSELR2_OFFSET)
+#  define SAM_MATRIX0_SPSELR3            (SAM_MATRIX64_VBASE+SAM_MATRIX_SPSELR3_OFFSET)
+
+/* HMATRIX 1 (H32MX) */
+
+#  define SAM_MATRIX1_MCFG(n))           (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG_OFFSET(n))
+#  define SAM_MATRIX1_MCFG0              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG0_OFFSET)
+#  define SAM_MATRIX1_MCFG1              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG1_OFFSET)
+#  define SAM_MATRIX1_MCFG2              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG2_OFFSET)
+#  define SAM_MATRIX1_MCFG3              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG3_OFFSET)
+#  define SAM_MATRIX1_MCFG4              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG4_OFFSET)
+#  define SAM_MATRIX1_MCFG5              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG5_OFFSET)
+#  define SAM_MATRIX1_MCFG6              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG6_OFFSET)
+#  define SAM_MATRIX1_MCFG7              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG7_OFFSET)
+#  define SAM_MATRIX1_MCFG8              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG8_OFFSET)
+#  define SAM_MATRIX1_MCFG9              (SAM_MATRIX32_VBASE+SAM_MATRIX_MCFG9_OFFSET)
+
+#  define SAM_MATRIX1_SCFG(n)            (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG_OFFSET(n))
+#  define SAM_MATRIX1_SCFG0              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG0_OFFSET)
+#  define SAM_MATRIX1_SCFG1              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG1_OFFSET)
+#  define SAM_MATRIX1_SCFG2              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG2_OFFSET)
+#  define SAM_MATRIX1_SCFG3              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG3_OFFSET)
+#  define SAM_MATRIX1_SCFG4              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG4_OFFSET)
+#  define SAM_MATRIX1_SCFG5              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG5_OFFSET)
+#  define SAM_MATRIX1_SCFG6              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG6_OFFSET)
+#  define SAM_MATRIX1_SCFG7              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG7_OFFSET)
+#  define SAM_MATRIX1_SCFG8              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG8_OFFSET)
+#  define SAM_MATRIX1_SCFG9              (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG9_OFFSET)
+#  define SAM_MATRIX1_SCFG10             (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG10_OFFSET)
+#  define SAM_MATRIX1_SCFG11             (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG11_OFFSET)
+#  define SAM_MATRIX1_SCFG12             (SAM_MATRIX32_VBASE+SAM_MATRIX_SCFG12_OFFSET)
+
+#  define SAM_MATRIX1_PRAS(n)            (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS_OFFSET(n))
+#  define SAM_MATRIX1_PRBS(n)            (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS_OFFSET(n))
+#  define SAM_MATRIX1_PRAS0              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS0_OFFSET)
+#  define SAM_MATRIX1_PRBS0              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS0_OFFSET)
+#  define SAM_MATRIX1_PRAS1              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS1_OFFSET)
+#  define SAM_MATRIX1_PRBS1              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS1_OFFSET)
+#  define SAM_MATRIX1_PRAS2              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS2_OFFSET)
+#  define SAM_MATRIX1_PRBS2              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS2_OFFSET)
+#  define SAM_MATRIX1_PRAS3              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS3_OFFSET)
+#  define SAM_MATRIX1_PRBS3              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS3_OFFSET)
+#  define SAM_MATRIX1_PRAS4              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS4_OFFSET)
+#  define SAM_MATRIX1_PRBS4              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS4_OFFSET)
+#  define SAM_MATRIX1_PRAS5              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS5_OFFSET)
+#  define SAM_MATRIX1_PRBS5              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS5_OFFSET)
+#  define SAM_MATRIX1_PRAS6              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS6_OFFSET)
+#  define SAM_MATRIX1_PRBS6              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS6_OFFSET)
+#  define SAM_MATRIX1_PRAS7              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS7_OFFSET)
+#  define SAM_MATRIX1_PRBS7              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS7_OFFSET)
+#  define SAM_MATRIX1_PRAS8              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS8_OFFSET)
+#  define SAM_MATRIX1_PRBS8              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS8_OFFSET)
+#  define SAM_MATRIX1_PRAS9              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS9_OFFSET)
+#  define SAM_MATRIX1_PRBS9              (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS9_OFFSET)
+#  define SAM_MATRIX1_PRAS10             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS10_OFFSET)
+#  define SAM_MATRIX1_PRBS10             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS10_OFFSET)
+#  define SAM_MATRIX1_PRAS11             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS11_OFFSET)
+#  define SAM_MATRIX1_PRBS11             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS11_OFFSET)
+#  define SAM_MATRIX1_PRAS12             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRAS12_OFFSET)
+#  define SAM_MATRIX1_PRBS12             (SAM_MATRIX32_VBASE+SAM_MATRIX_PRBS12_OFFSET)
+
+#  define SAM_MATRIX1_MEIER              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEIER_OFFSET)
+#  define SAM_MATRIX1_MEIDR              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEIDR_OFFSET
+#  define SAM_MATRIX1_MEIMR              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEIMR_OFFSET)
+#  define SAM_MATRIX1_MESR               (SAM_MATRIX32_VBASE+SAM_MATRIX_MESR_OFFSET)
+
+#  define SAM_MATRIX1_MEAR0              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR0_OFFSET)
+#  define SAM_MATRIX1_MEAR1              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR1_OFFSET)
+#  define SAM_MATRIX1_MEAR2              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR2_OFFSET)
+#  define SAM_MATRIX1_MEAR3              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR3_OFFSET)
+#  define SAM_MATRIX1_MEAR4              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR4_OFFSET)
+#  define SAM_MATRIX1_MEAR5              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR5_OFFSET)
+#  define SAM_MATRIX1_MEAR6              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR6_OFFSET)
+#  define SAM_MATRIX1_MEAR7              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR7_OFFSET)
+#  define SAM_MATRIX1_MEAR8              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR8_OFFSET)
+#  define SAM_MATRIX1_MEAR9              (SAM_MATRIX32_VBASE+SAM_MATRIX_MEAR9_OFFSET)
+
+#  define SAM_MATRIX1_WPMR               (SAM_MATRIX32_VBASE+SAM_MATRIX_WPMR_OFFSET)
+#  define SAM_MATRIX1_WPSR               (SAM_MATRIX32_VBASE+SAM_MATRIX_WPSR_OFFSET)
+
+#  define SAM_MATRIX1_SSR(n)             (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR_OFFSET(n))
+#  define SAM_MATRIX1_SSR0               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR0_OFFSET)
+#  define SAM_MATRIX1_SSR1               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR1_OFFSET)
+#  define SAM_MATRIX1_SSR2               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR2_OFFSET)
+#  define SAM_MATRIX1_SSR3               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR3_OFFSET)
+#  define SAM_MATRIX1_SSR4               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR4_OFFSET)
+#  define SAM_MATRIX1_SSR5               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR5_OFFSET)
+#  define SAM_MATRIX1_SSR6               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR6_OFFSET)
+#  define SAM_MATRIX1_SSR7               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR7_OFFSET)
+#  define SAM_MATRIX1_SSR8               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR8_OFFSET)
+#  define SAM_MATRIX1_SSR9               (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR9_OFFSET)
+#  define SAM_MATRIX1_SSR10              (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR10_OFFSET)
+#  define SAM_MATRIX1_SSR11              (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR11_OFFSET)
+#  define SAM_MATRIX1_SSR12              (SAM_MATRIX32_VBASE+SAM_MATRIX_SSR12_OFFSET)
+
+#  define SAM_MATRIX1_SASSR(n)           (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR_OFFSET(n))
+#  define SAM_MATRIX1_SASSR0             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR0_OFFSET)
+#  define SAM_MATRIX1_SASSR1             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR1_OFFSET)
+#  define SAM_MATRIX1_SASSR2             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR2_OFFSET)
+#  define SAM_MATRIX1_SASSR3             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR3_OFFSET)
+#  define SAM_MATRIX1_SASSR4             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR4_OFFSET)
+#  define SAM_MATRIX1_SASSR5             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR5_OFFSET)
+#  define SAM_MATRIX1_SASSR6             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR6_OFFSET)
+#  define SAM_MATRIX1_SASSR7             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR7_OFFSET)
+#  define SAM_MATRIX1_SASSR8             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR8_OFFSET)
+#  define SAM_MATRIX1_SASSR9             (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR9_OFFSET)
+#  define SAM_MATRIX1_SASSR10            (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR10_OFFSET)
+#  define SAM_MATRIX1_SASSR11            (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR11_OFFSET)
+#  define SAM_MATRIX1_SASSR12            (SAM_MATRIX32_VBASE+SAM_MATRIX_SASSR12_OFFSET)
+
+#  define SAM_MATRIX1_SRTSR(n)           (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR_OFFSET(n))
+#  define SAM_MATRIX1_SRTSR1             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR1_OFFSET)
+#  define SAM_MATRIX1_SRTSR2             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR2_OFFSET)
+#  define SAM_MATRIX1_SRTSR3             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR3_OFFSET)
+#  define SAM_MATRIX1_SRTSR4             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR4_OFFSET)
+#  define SAM_MATRIX1_SRTSR5             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR5_OFFSET)
+#  define SAM_MATRIX1_SRTSR6             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR6_OFFSET)
+#  define SAM_MATRIX1_SRTSR7             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR7_OFFSET)
+#  define SAM_MATRIX1_SRTSR8             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR8_OFFSET)
+#  define SAM_MATRIX1_SRTSR9             (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR9_OFFSET)
+#  define SAM_MATRIX1_SRTSR10            (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR10_OFFSET)
+#  define SAM_MATRIX1_SRTSR11            (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR11_OFFSET)
+#  define SAM_MATRIX1_SRTSR12            (SAM_MATRIX32_VBASE+SAM_MATRIX_SRTSR12_OFFSET)
+
+#  define SAM_MATRIX1_SPSELR1            (SAM_MATRIX32_VBASE+SAM_MATRIX_SPSELR1_OFFSET)
+#  define SAM_MATRIX1_SPSELR2            (SAM_MATRIX32_VBASE+SAM_MATRIX_SPSELR2_OFFSET)
+#  define SAM_MATRIX1_SPSELR3            (SAM_MATRIX32_VBASE+SAM_MATRIX_SPSELR3_OFFSET)
+
+#endif /* ATSAMA5D4 */
 
 /* MATRIX register bit definitions ******************************************************/
 /* Master Configuration Registers */