[rtems commit] bsps/arm/imxrt: Add FDT and FDT helper for QTMR

Christian Mauderer christianm at rtems.org
Sun Mar 21 11:37:29 UTC 2021


Module:    rtems
Branch:    master
Commit:    65ab1cda10f26935cad2ba01426077079cd96af3
Changeset: http://git.rtems.org/rtems/commit/?id=65ab1cda10f26935cad2ba01426077079cd96af3

Author:    Christian Mauderer <christian.mauderer at embedded-brains.de>
Date:      Thu Feb  4 14:27:50 2021 +0100

bsps/arm/imxrt: Add FDT and FDT helper for QTMR

Makes it simpler to access the QTMR in an application via a FDT name or
link in an application specific FDT entry.

---

 bsps/arm/imxrt/dts/imxrt1050-evkb.c                | 334 ++++++++++++---------
 bsps/arm/imxrt/include/fsl_qtmr.h                  |  34 +++
 bsps/arm/imxrt/include/imxrt/imxrt1050.dtsi        |  24 ++
 .../nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c      |  40 +++
 4 files changed, 293 insertions(+), 139 deletions(-)

diff --git a/bsps/arm/imxrt/dts/imxrt1050-evkb.c b/bsps/arm/imxrt/dts/imxrt1050-evkb.c
index f0b0c16..4842f1b 100644
--- a/bsps/arm/imxrt/dts/imxrt1050-evkb.c
+++ b/bsps/arm/imxrt/dts/imxrt1050-evkb.c
@@ -7,10 +7,10 @@
 #include <sys/types.h>
 
 const unsigned char imxrt_dtb[] = {
-  0xd0, 0x0d, 0xfe, 0xed, 0x00, 0x00, 0x28, 0x96, 0x00, 0x00, 0x00, 0x38, 
-  0x00, 0x00, 0x22, 0x54, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 
-  0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x42, 
-  0x00, 0x00, 0x22, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+  0xd0, 0x0d, 0xfe, 0xed, 0x00, 0x00, 0x2b, 0x36, 0x00, 0x00, 0x00, 0x38, 
+  0x00, 0x00, 0x24, 0xd4, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 
+  0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x62, 
+  0x00, 0x00, 0x24, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -120,6 +120,42 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
   0x00, 0x00, 0x00, 0x7e, 0x40, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 
+  0x00, 0x00, 0x00, 0x01, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 
+  0x31, 0x65, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
+  0x69, 0x6d, 0x78, 0x72, 0x74, 0x2d, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
+  0x00, 0x00, 0x00, 0x7e, 0x40, 0x1e, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xac, 
+  0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x01, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 
+  0x31, 0x65, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
+  0x69, 0x6d, 0x78, 0x72, 0x74, 0x2d, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
+  0x00, 0x00, 0x00, 0x7e, 0x40, 0x1e, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xac, 
+  0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x01, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 
+  0x31, 0x65, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
+  0x69, 0x6d, 0x78, 0x72, 0x74, 0x2d, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
+  0x00, 0x00, 0x00, 0x7e, 0x40, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xac, 
+  0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x01, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 
+  0x31, 0x64, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
+  0x69, 0x6d, 0x78, 0x72, 0x74, 0x2d, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
+  0x00, 0x00, 0x00, 0x7e, 0x40, 0x1d, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xac, 
+  0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x01, 0x67, 0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 
   0x63, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x4d, 0x66, 0x73, 0x6c, 0x2c, 
@@ -135,7 +171,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0c, 
+  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x10, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x67, 0x70, 0x69, 0x6f, 
   0x40, 0x34, 0x30, 0x31, 0x63, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x4d, 
@@ -152,7 +188,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x67, 0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x62, 0x63, 0x30, 0x30, 
   0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2e, 
   0x00, 0x00, 0x00, 0x4d, 0x66, 0x73, 0x6c, 0x2c, 0x69, 0x6d, 0x78, 0x72, 
@@ -168,7 +204,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6d, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x01, 0x67, 0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 
   0x62, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x4d, 0x66, 0x73, 0x6c, 0x2c, 
@@ -206,7 +242,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x38, 0x38, 0x30, 0x30, 
   0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 
   0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 0x69, 0x6d, 0x78, 0x72, 
@@ -223,7 +259,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x10, 
+  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x14, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x75, 0x61, 0x72, 0x74, 
   0x40, 0x34, 0x30, 0x31, 0x38, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 
@@ -242,7 +278,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xed, 
   0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x01, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 
   0x39, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
@@ -260,7 +296,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x39, 0x34, 0x30, 0x30, 
   0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 
   0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 0x69, 0x6d, 0x78, 0x72, 
@@ -277,7 +313,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x13, 
+  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x17, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x75, 0x61, 0x72, 0x74, 
   0x40, 0x34, 0x30, 0x31, 0x39, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 
@@ -295,7 +331,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x01, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 
   0x39, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 
@@ -313,7 +349,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x61, 0x30, 0x30, 0x30, 
   0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 
   0x00, 0x00, 0x00, 0x4d, 0x6e, 0x78, 0x70, 0x2c, 0x69, 0x6d, 0x78, 0x72, 
@@ -330,7 +366,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16, 
+  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1a, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x70, 0x69, 0x6e, 0x63, 
   0x74, 0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 
@@ -339,7 +375,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 
   0x00, 0x00, 0x00, 0x7e, 0x40, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x70, 0x75, 0x61, 
+  0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x70, 0x75, 0x61, 
   0x72, 0x74, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xec, 
   0x00, 0x00, 0x02, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
@@ -437,7 +473,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 
   0x00, 0x00, 0x01, 0x4d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a, 
   0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x61, 0x69, 0x70, 0x73, 
   0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 
   0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 
@@ -469,7 +505,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x07, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x39, 0x38, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -489,7 +525,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x39, 0x63, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -509,7 +545,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x61, 0x30, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -529,7 +565,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x30, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -547,7 +583,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xed, 
   0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x01, 0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 
   0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
@@ -564,7 +600,7 @@ const unsigned char imxrt_dtb[] = {
   0x2f, 0x69, 0x32, 0x63, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
   0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1e, 
+  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x22, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x69, 0x32, 0x63, 0x40, 
   0x34, 0x30, 0x33, 0x66, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 
@@ -582,7 +618,7 @@ const unsigned char imxrt_dtb[] = {
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xe8, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 
-  0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
+  0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x63, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 
@@ -599,7 +635,7 @@ const unsigned char imxrt_dtb[] = {
   0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 
   0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
   0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 
-  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 
   0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 
   0x5f, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x5f, 0x5f, 0x00, 
   0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x67, 
@@ -619,159 +655,179 @@ const unsigned char imxrt_dtb[] = {
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x67, 0x70, 0x69, 0x6f, 0x40, 
   0x34, 0x30, 0x30, 0x63, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x47, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x01, 0x86, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
-  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x67, 
-  0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x63, 0x34, 0x30, 0x30, 0x30, 
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 
-  0x00, 0x00, 0x00, 0x41, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x74, 
+  0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 0x31, 0x65, 0x38, 0x30, 0x30, 
+  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 
+  0x00, 0x00, 0x01, 0x8e, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
+  0x30, 0x30, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 0x31, 
+  0x65, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x01, 0x96, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x40, 0x34, 0x30, 0x31, 0x65, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x01, 0x9e, 
+  0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
+  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x74, 
+  0x69, 0x6d, 0x65, 0x72, 0x40, 0x34, 0x30, 0x31, 0x64, 0x63, 0x30, 0x30, 
+  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 
+  0x00, 0x00, 0x00, 0x47, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
   0x30, 0x30, 0x2f, 0x67, 0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x63, 
-  0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3b, 0x2f, 0x73, 0x6f, 0x63, 
+  0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x41, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x67, 0x70, 0x69, 0x6f, 0x40, 
-  0x34, 0x30, 0x31, 0x62, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x35, 
+  0x34, 0x30, 0x31, 0x63, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3b, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
   0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x67, 
-  0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x62, 0x38, 0x30, 0x30, 0x30, 
+  0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x62, 0x63, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 
-  0x00, 0x00, 0x01, 0x86, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x00, 0x00, 0x00, 0x35, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x38, 
-  0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0x8e, 0x2f, 0x73, 0x6f, 0x63, 
+  0x30, 0x30, 0x2f, 0x67, 0x70, 0x69, 0x6f, 0x40, 0x34, 0x30, 0x31, 0x62, 
+  0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xa6, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 
-  0x34, 0x30, 0x31, 0x38, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0x96, 
+  0x34, 0x30, 0x31, 0x38, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xae, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
   0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 
-  0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x38, 0x63, 0x30, 0x30, 0x30, 
+  0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x38, 0x38, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 
-  0x00, 0x00, 0x01, 0x9e, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x00, 0x00, 0x01, 0xb6, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x39, 
-  0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xa6, 0x2f, 0x73, 0x6f, 0x63, 
+  0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x38, 
+  0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xbe, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 
-  0x34, 0x30, 0x31, 0x39, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xae, 
+  0x34, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xc6, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
   0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 
-  0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x39, 0x38, 0x30, 0x30, 0x30, 
+  0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x39, 0x34, 0x30, 0x30, 0x30, 
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 
-  0x00, 0x00, 0x01, 0xb6, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x00, 0x00, 0x01, 0xce, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
   0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x39, 
-  0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xbe, 0x2f, 0x73, 0x6f, 0x63, 
+  0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xd6, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 0x61, 0x72, 0x74, 0x40, 
-  0x34, 0x30, 0x31, 0x61, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x01, 0xc6, 
+  0x34, 0x30, 0x31, 0x39, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x01, 0xde, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
-  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x70, 
-  0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x33, 
-  0x00, 0x00, 0x01, 0xcd, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x75, 
+  0x61, 0x72, 0x74, 0x40, 0x34, 0x30, 0x31, 0x61, 0x30, 0x30, 0x30, 0x30, 
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x28, 
+  0x00, 0x00, 0x01, 0xe6, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
   0x30, 0x30, 0x2f, 0x70, 0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x40, 0x34, 
-  0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x2f, 0x6c, 0x70, 0x75, 0x61, 
-  0x72, 0x74, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x01, 0xdd, 0x2f, 0x73, 0x6f, 0x63, 
+  0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x01, 0xed, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x70, 0x69, 0x6e, 0x63, 0x74, 
   0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x2f, 
-  0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 0x33, 0x67, 0x72, 0x70, 0x00, 0x00, 
-  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x01, 0xed, 
+  0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x01, 0xfd, 
   0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
   0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x70, 
   0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 
-  0x30, 0x30, 0x30, 0x2f, 0x6c, 0x70, 0x73, 0x70, 0x69, 0x31, 0x67, 0x72, 
-  0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 
-  0x00, 0x00, 0x01, 0xfc, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
+  0x30, 0x30, 0x30, 0x2f, 0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 0x33, 0x67, 
+  0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 
+  0x00, 0x00, 0x02, 0x0d, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
   0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 
   0x30, 0x30, 0x2f, 0x70, 0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x40, 0x34, 
-  0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x2f, 0x6c, 0x70, 0x69, 0x32, 
-  0x63, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x02, 0x0b, 0x2f, 0x73, 0x6f, 0x63, 
+  0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x2f, 0x6c, 0x70, 0x73, 0x70, 
+  0x69, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x02, 0x1c, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
   0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x70, 0x69, 0x6e, 0x63, 0x74, 
   0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 0x30, 0x30, 0x30, 0x2f, 
-  0x66, 0x65, 0x63, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x03, 
-  0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x02, 0x13, 0x2f, 0x73, 0x6f, 0x63, 
+  0x6c, 0x70, 0x69, 0x32, 0x63, 0x31, 0x67, 0x72, 0x70, 0x00, 0x00, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x02, 0x2b, 
+  0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
+  0x73, 0x40, 0x34, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x70, 
+  0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x40, 0x34, 0x30, 0x31, 0x66, 0x38, 
+  0x30, 0x30, 0x30, 0x2f, 0x66, 0x65, 0x63, 0x31, 0x67, 0x72, 0x70, 0x00, 
+  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x02, 0x33, 
+  0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 
+  0x73, 0x40, 0x34, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x65, 
+  0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x40, 0x34, 0x30, 0x32, 0x64, 
+  0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x15, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 
+  0x30, 0x33, 0x39, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x38, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 
+  0x30, 0x33, 0x39, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x3f, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 
+  0x30, 0x33, 0x39, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x46, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 
+  0x30, 0x33, 0x61, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x24, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 
+  0x30, 0x33, 0x66, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x4d, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 
+  0x30, 0x33, 0x66, 0x34, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x54, 0x2f, 0x73, 0x6f, 0x63, 
+  0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 
+  0x30, 0x33, 0x66, 0x38, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 
+  0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x02, 0x5b, 0x2f, 0x73, 0x6f, 0x63, 
   0x2f, 0x61, 0x69, 0x70, 0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 
-  0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x65, 0x74, 0x68, 0x65, 0x72, 
-  0x6e, 0x65, 0x74, 0x40, 0x34, 0x30, 0x32, 0x64, 0x38, 0x30, 0x30, 0x30, 
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x01, 0xf5, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x39, 0x34, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x18, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x39, 0x38, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x1f, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x39, 0x63, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x26, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x73, 0x70, 0x69, 0x40, 0x34, 0x30, 0x33, 0x61, 0x30, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x04, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x30, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x2d, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x34, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x34, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x38, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x24, 
-  0x00, 0x00, 0x02, 0x3b, 0x2f, 0x73, 0x6f, 0x63, 0x2f, 0x61, 0x69, 0x70, 
-  0x73, 0x2d, 0x62, 0x75, 0x73, 0x40, 0x34, 0x30, 0x33, 0x30, 0x30, 0x30, 
-  0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 0x30, 0x33, 0x66, 0x63, 
-  0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 
-  0x00, 0x00, 0x00, 0x09, 0x23, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 
-  0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x23, 0x73, 0x69, 0x7a, 0x65, 
-  0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x73, 0x74, 0x64, 0x6f, 0x75, 
-  0x74, 0x2d, 0x70, 0x61, 0x74, 0x68, 0x00, 0x70, 0x68, 0x61, 0x6e, 0x64, 
-  0x6c, 0x65, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x30, 0x00, 0x67, 0x70, 0x69, 
-  0x6f, 0x31, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x32, 0x00, 0x67, 0x70, 0x69, 
-  0x6f, 0x33, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x34, 0x00, 0x63, 0x6f, 0x6d, 
-  0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x00, 0x69, 0x6e, 0x74, 0x65, 
-  0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 
-  0x6c, 0x6c, 0x65, 0x72, 0x00, 0x23, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 
-  0x75, 0x70, 0x74, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x72, 0x65, 
-  0x67, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00, 0x69, 0x6e, 0x74, 
-  0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x70, 0x61, 0x72, 0x65, 0x6e, 
-  0x74, 0x00, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x00, 0x23, 0x64, 0x6d, 
-  0x61, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x69, 0x6e, 0x74, 0x65, 
-  0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x2d, 
-  0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x00, 0x23, 
-  0x67, 0x70, 0x69, 0x6f, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x72, 
-  0x74, 0x65, 0x6d, 0x73, 0x2c, 0x70, 0x61, 0x74, 0x68, 0x00, 0x64, 0x6d, 
-  0x61, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x00, 0x64, 0x6d, 0x61, 0x73, 
-  0x00, 0x70, 0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 0x2d, 0x30, 0x00, 0x66, 
-  0x73, 0x6c, 0x2c, 0x70, 0x69, 0x6e, 0x73, 0x00, 0x69, 0x6e, 0x74, 0x65, 
-  0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x00, 
-  0x66, 0x73, 0x6c, 0x2c, 0x6e, 0x75, 0x6d, 0x2d, 0x74, 0x78, 0x2d, 0x71, 
-  0x75, 0x65, 0x75, 0x65, 0x73, 0x00, 0x66, 0x73, 0x6c, 0x2c, 0x6e, 0x75, 
-  0x6d, 0x2d, 0x72, 0x78, 0x2d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x00, 
-  0x70, 0x68, 0x79, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x00, 0x70, 0x68, 0x79, 
-  0x2d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2d, 0x67, 0x70, 0x69, 0x6f, 0x73, 
-  0x00, 0x72, 0x74, 0x65, 0x6d, 0x73, 0x2c, 0x70, 0x68, 0x79, 0x2d, 0x69, 
-  0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x67, 0x70, 0x69, 
-  0x6f, 0x73, 0x00, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x00, 0x6e, 0x76, 
-  0x69, 0x63, 0x00, 0x73, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x00, 0x65, 
-  0x64, 0x6d, 0x61, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x35, 0x00, 0x6c, 0x70, 
+  0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x69, 0x32, 0x63, 0x40, 0x34, 
+  0x30, 0x33, 0x66, 0x63, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x02, 
+  0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x23, 0x61, 0x64, 0x64, 
+  0x72, 0x65, 0x73, 0x73, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x23, 
+  0x73, 0x69, 0x7a, 0x65, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 0x73, 
+  0x74, 0x64, 0x6f, 0x75, 0x74, 0x2d, 0x70, 0x61, 0x74, 0x68, 0x00, 0x70, 
+  0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x30, 
+  0x00, 0x67, 0x70, 0x69, 0x6f, 0x31, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x32, 
+  0x00, 0x67, 0x70, 0x69, 0x6f, 0x33, 0x00, 0x67, 0x70, 0x69, 0x6f, 0x34, 
+  0x00, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x00, 
+  0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x63, 0x6f, 
+  0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x00, 0x23, 0x69, 0x6e, 
+  0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 
+  0x73, 0x00, 0x72, 0x65, 0x67, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 
+  0x00, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x70, 
+  0x61, 0x72, 0x65, 0x6e, 0x74, 0x00, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 
+  0x00, 0x23, 0x64, 0x6d, 0x61, 0x2d, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x00, 
+  0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x73, 0x00, 0x67, 
+  0x70, 0x69, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 
+  0x65, 0x72, 0x00, 0x23, 0x67, 0x70, 0x69, 0x6f, 0x2d, 0x63, 0x65, 0x6c, 
+  0x6c, 0x73, 0x00, 0x72, 0x74, 0x65, 0x6d, 0x73, 0x2c, 0x70, 0x61, 0x74, 
+  0x68, 0x00, 0x64, 0x6d, 0x61, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x00, 
+  0x64, 0x6d, 0x61, 0x73, 0x00, 0x70, 0x69, 0x6e, 0x63, 0x74, 0x72, 0x6c, 
+  0x2d, 0x30, 0x00, 0x66, 0x73, 0x6c, 0x2c, 0x70, 0x69, 0x6e, 0x73, 0x00, 
+  0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x2d, 0x6e, 0x61, 
+  0x6d, 0x65, 0x73, 0x00, 0x66, 0x73, 0x6c, 0x2c, 0x6e, 0x75, 0x6d, 0x2d, 
+  0x74, 0x78, 0x2d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x00, 0x66, 0x73, 
+  0x6c, 0x2c, 0x6e, 0x75, 0x6d, 0x2d, 0x72, 0x78, 0x2d, 0x71, 0x75, 0x65, 
+  0x75, 0x65, 0x73, 0x00, 0x70, 0x68, 0x79, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 
+  0x00, 0x70, 0x68, 0x79, 0x2d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2d, 0x67, 
+  0x70, 0x69, 0x6f, 0x73, 0x00, 0x72, 0x74, 0x65, 0x6d, 0x73, 0x2c, 0x70, 
+  0x68, 0x79, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 
+  0x2d, 0x67, 0x70, 0x69, 0x6f, 0x73, 0x00, 0x63, 0x68, 0x6f, 0x73, 0x65, 
+  0x6e, 0x00, 0x6e, 0x76, 0x69, 0x63, 0x00, 0x73, 0x79, 0x73, 0x74, 0x69, 
+  0x63, 0x6b, 0x00, 0x65, 0x64, 0x6d, 0x61, 0x00, 0x67, 0x70, 0x69, 0x6f, 
+  0x35, 0x00, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x34, 0x00, 0x71, 0x74, 
+  0x69, 0x6d, 0x65, 0x72, 0x33, 0x00, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 
+  0x32, 0x00, 0x71, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x31, 0x00, 0x6c, 0x70, 
   0x75, 0x61, 0x72, 0x74, 0x31, 0x00, 0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 
   0x32, 0x00, 0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 0x33, 0x00, 0x6c, 0x70, 
   0x75, 0x61, 0x72, 0x74, 0x34, 0x00, 0x6c, 0x70, 0x75, 0x61, 0x72, 0x74, 
diff --git a/bsps/arm/imxrt/include/fsl_qtmr.h b/bsps/arm/imxrt/include/fsl_qtmr.h
index 589b9c3..a675413 100644
--- a/bsps/arm/imxrt/include/fsl_qtmr.h
+++ b/bsps/arm/imxrt/include/fsl_qtmr.h
@@ -8,6 +8,9 @@
 #define _FSL_QTMR_H_
 
 #include "fsl_common.h"
+#ifdef __rtems__
+#include <rtems.h>
+#endif /* __rtems__ */
 
 /*!
  * @addtogroup qtmr
@@ -177,6 +180,37 @@ extern "C" {
  * @name Initialization and deinitialization
  * @{
  */
+#ifdef __rtems__
+/*!
+ * @brief Return the timer base based on a FDT node.
+ *
+ * @param fdt      Pointer to the fdt
+ * @param node     The FDT node
+ *
+ * @return Pointer to the timer. NULL on error (for example if node isn't
+ *         compatible).
+ */
+TMR_Type *QTMR_get_regs_from_fdt(const void *fdt, int node);
+
+/*!
+ * @brief Return the timer IRQ vector based on a FDT node.
+ *
+ * @param fdt      Pointer to the fdt
+ * @param node     The FDT node
+ *
+ * @return IRQ vector number. BSP_INTERRUPT_VECTOR_INVALID on error.
+ */
+rtems_vector_number QTMR_get_IRQ_from_fdt(const void *fdt, int node);
+
+/*!
+ * @brief Return the clock source frequency of the quad timer.
+ *
+ * @param base     Quad Timer peripheral base address.
+ *
+ * @return IRQ vector number. BSP_INTERRUPT_VECTOR_INVALID on error.
+ */
+uint32_t QTMR_get_src_clk(TMR_Type *base);
+#endif /* __rtems__ */
 
 /*!
  * @brief Ungates the Quad Timer clock and configures the peripheral for basic operation.
diff --git a/bsps/arm/imxrt/include/imxrt/imxrt1050.dtsi b/bsps/arm/imxrt/include/imxrt/imxrt1050.dtsi
index 78c7b1c..610aa37 100644
--- a/bsps/arm/imxrt/include/imxrt/imxrt1050.dtsi
+++ b/bsps/arm/imxrt/include/imxrt/imxrt1050.dtsi
@@ -101,6 +101,30 @@
 			reg = <0x40100000 0x00100000>;
 			ranges;
 
+			qtimer4: timer at 401e8000 {
+				compatible = "nxp,imxrt-qtimer";
+				reg = <0x401e8000 0x4000>;
+				interrupts = <136>;
+			};
+
+			qtimer3: timer at 401e4000 {
+				compatible = "nxp,imxrt-qtimer";
+				reg = <0x401e4000 0x4000>;
+				interrupts = <135>;
+			};
+
+			qtimer2: timer at 401e0000 {
+				compatible = "nxp,imxrt-qtimer";
+				reg = <0x401e0000 0x4000>;
+				interrupts = <134>;
+			};
+
+			qtimer1: timer at 401dc000 {
+				compatible = "nxp,imxrt-qtimer";
+				reg = <0x401dc000 0x4000>;
+				interrupts = <133>;
+			};
+
 			gpio4: gpio at 401c4000 {
 				compatible = "fsl,imxrt-gpio",
 				    "fsl,imx6ul-gpio", "fsl,imx35-gpio";
diff --git a/bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c b/bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c
index 44b7867..f96e550 100644
--- a/bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c
+++ b/bsps/arm/imxrt/nxp/devices/MIMXRT1052/drivers/fsl_qtmr.c
@@ -6,6 +6,11 @@
  */
 
 #include "fsl_qtmr.h"
+#ifdef __rtems__
+#include <bsp.h>
+#include <bsp/irq.h>
+#include <libfdt.h>
+#endif /* __rtems__ */
 
 /* Component ID definition, used by tools. */
 #ifndef FSL_COMPONENT_ID
@@ -56,6 +61,41 @@ static uint32_t QTMR_GetInstance(TMR_Type *base)
     return instance;
 }
 
+#ifdef __rtems__
+TMR_Type *QTMR_get_regs_from_fdt(const void *fdt, int node)
+{
+    int rv;
+    TMR_Type *regs;
+
+    rv = fdt_node_check_compatible(fdt, node, "nxp,imxrt-qtimer");
+    if (rv != 0) {
+        return NULL;
+    }
+    regs = imx_get_reg_of_node(fdt, node);
+    return regs;
+}
+
+rtems_vector_number QTMR_get_IRQ_from_fdt(const void *fdt, int node)
+{
+    int rv;
+    rtems_vector_number irq;
+
+    rv = fdt_node_check_compatible(fdt, node, "nxp,imxrt-qtimer");
+    if (rv != 0) {
+        return BSP_INTERRUPT_VECTOR_INVALID;
+    }
+    irq = imx_get_irq_of_node(fdt, node, 0);
+    return irq;
+}
+
+uint32_t QTMR_get_src_clk(TMR_Type *base)
+{
+    (void) base;
+
+    return CLOCK_GetFreq(kCLOCK_IpgClk);
+}
+
+#endif /* __rtems__ */
 /*!
  * brief Ungates the Quad Timer clock and configures the peripheral for basic operation.
  *



More information about the vc mailing list