acassis commented on code in PR #16941:
URL: https://github.com/apache/nuttx/pull/16941#discussion_r2312420646


##########
arch/arm/src/imxrt/hardware/imxrt_usbotg.h:
##########
@@ -121,64 +121,67 @@
 #define IMXRT_USBNC_USB_OTG1_CTRL_OFFSET        0x0800 /* OTG1 Control 
Register */
 #define IMXRT_USBNC_USB_OTG1_PHY_CTRL_0_OFFSET  0x0818 /* OTG1 Phy Control 
Register */
 
+#define IMXRT_USBNC_USB_OTG2_CTRL_OFFSET        0x0804 /* OTG1 Control 
Register */
+#define IMXRT_USBNC_USB_OTG2_PHY_CTRL_0_OFFSET  0x081c /* OTG1 Phy Control 
Register */
+
 /* USBOTG register (virtual) addresses **************************************/
 
 /* Device/host capability registers */
 
-#define IMXRT_USBOTG_HCCR_BASE             (IMXRT_USB_BASE + 
IMXRT_USBOTG_HCCR_OFFSET)
-#define IMXRT_USBOTG_CAPLENGTH             (IMXRT_USB_BASE + 
IMXRT_USBOTG_CAPLENGTH_OFFSET)
-#define IMXRT_USBHOST_HCIVERSION           (IMXRT_USB_BASE + 
IMXRT_USBHOST_HCIVERSION_OFFSET)
-#define IMXRT_USBHOST_HCSPARAMS            (IMXRT_USB_BASE + 
IMXRT_USBHOST_HCSPARAMS_OFFSET)
-#define IMXRT_USBHOST_HCCPARAMS            (IMXRT_USB_BASE + 
IMXRT_USBHOST_HCCPARAMS_OFFSET)
-#define IMXRT_USBDEV_DCIVERSION            (IMXRT_USB_BASE + 
IMXRT_USBDEV_DCIVERSION_OFFSET)
-#define IMXRT_USBDEV_DCCPARAMS             (IMXRT_USB_BASE + 
IMXRT_USBDEV_DCCPARAMS_OFFSET)
+#define IMXRT_USBOTG_HCCR_BASE(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_HCCR_OFFSET)
+#define IMXRT_USBOTG_CAPLENGTH(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_CAPLENGTH_OFFSET)
+#define IMXRT_USBHOST_HCIVERSION(n)           (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBHOST_HCIVERSION_OFFSET)
+#define IMXRT_USBHOST_HCSPARAMS(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBHOST_HCSPARAMS_OFFSET)
+#define IMXRT_USBHOST_HCCPARAMS(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBHOST_HCCPARAMS_OFFSET)
+#define IMXRT_USBDEV_DCIVERSION(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_DCIVERSION_OFFSET)
+#define IMXRT_USBDEV_DCCPARAMS(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_DCCPARAMS_OFFSET)
 
 /* Device/host operational registers */
 
-#define IMXRT_USBOTG_HCOR_BASE             (IMXRT_USB_BASE + 
IMXRT_USBOTG_HCOR_OFFSET)
-#define IMXRT_USBOTG_USBCMD                (IMXRT_USB_BASE + 
IMXRT_USBOTG_USBCMD_OFFSET)
-#define IMXRT_USBOTG_USBSTS                (IMXRT_USB_BASE + 
IMXRT_USBOTG_USBSTS_OFFSET)
-#define IMXRT_USBOTG_USBINTR               (IMXRT_USB_BASE + 
IMXRT_USBOTG_USBINTR_OFFSET)
-#define IMXRT_USBOTG_FRINDEX               (IMXRT_USB_BASE + 
IMXRT_USBOTG_FRINDEX_OFFSET)
-#define IMXRT_USBOTG_PERIODICLIST          (IMXRT_USB_BASE + 
IMXRT_USBOTG_PERIODICLIST_OFFSET)
-#define IMXRT_USBOTG_DEVICEADDR            (IMXRT_USB_BASE + 
IMXRT_USBOTG_DEVICEADDR_OFFSET)
-#define IMXRT_USBOTG_ASYNCLISTADDR         (IMXRT_USB_BASE + 
IMXRT_USBOTG_ASYNCLISTADDR_OFFSET)
-#define IMXRT_USBOTG_ENDPOINTLIST          (IMXRT_USB_BASE + 
IMXRT_USBOTG_ENDPOINTLIST_OFFSET)
-#define IMXRT_USBOTG_TTCTRL                (IMXRT_USB_BASE + 
IMXRT_USBOTG_TTCTRL_OFFSET)
-#define IMXRT_USBOTG_BURSTSIZE             (IMXRT_USB_BASE + 
IMXRT_USBOTG_BURSTSIZE_OFFSET)
-#define IMXRT_USBOTG_TXFILLTUNING          (IMXRT_USB_BASE + 
IMXRT_USBOTG_TXFILLTUNING_OFFSET)
-#define IMXRT_USBOTG_BINTERVAL             (IMXRT_USB_BASE + 
IMXRT_USBOTG_BINTERVAL_OFFSET)
-#define IMXRT_USBOTG_ENDPTNAK              (IMXRT_USB_BASE + 
IMXRT_USBOTG_ENDPTNAK_OFFSET)
-#define IMXRT_USBOTG_ENDPTNAKEN            (IMXRT_USB_BASE + 
IMXRT_USBOTG_ENDPTNAKEN_OFFSET)
-#define IMXRT_USBOTG_PORTSC1               (IMXRT_USB_BASE + 
IMXRT_USBOTG_PORTSC1_OFFSET)
-#define IMXRT_USBOTG_OTGSC                 (IMXRT_USB_BASE + 
IMXRT_USBOTG_OTGSC_OFFSET)
-#define IMXRT_USBOTG_USBMODE               (IMXRT_USB_BASE + 
IMXRT_USBOTG_USBMODE_OFFSET)
-
-#define IMXRT_USBDEV_USBCMD                (IMXRT_USB_BASE + 
IMXRT_USBDEV_USBCMD_OFFSET)
-#define IMXRT_USBDEV_USBSTS                (IMXRT_USB_BASE + 
IMXRT_USBDEV_USBSTS_OFFSET)
-#define IMXRT_USBDEV_USBINTR               (IMXRT_USB_BASE + 
IMXRT_USBDEV_USBINTR_OFFSET)
-#define IMXRT_USBDEV_FRINDEX               (IMXRT_USB_BASE + 
IMXRT_USBDEV_FRINDEX_OFFSET)
-#define IMXRT_USBDEV_DEVICEADDR            (IMXRT_USB_BASE + 
IMXRT_USBDEV_DEVICEADDR_OFFSET)
-#define IMXRT_USBDEV_ENDPOINTLIST          (IMXRT_USB_BASE + 
IMXRT_USBDEV_ENDPOINTLIST_OFFSET)
-#define IMXRT_USBDEV_BURSTSIZE             (IMXRT_USB_BASE + 
IMXRT_USBDEV_BURSTSIZE_OFFSET)
-#define IMXRT_USBDEV_BINTERVAL             (IMXRT_USB_BASE + 
IMXRT_USBDEV_BINTERVAL_OFFSET)
-#define IMXRT_USBDEV_ENDPTNAK              (IMXRT_USB_BASE + 
IMXRT_USBDEV_ENDPTNAK_OFFSET)
-#define IMXRT_USBDEV_ENDPTNAKEN            (IMXRT_USB_BASE + 
IMXRT_USBDEV_ENDPTNAKEN_OFFSET)
-#define IMXRT_USBDEV_PORTSC1               (IMXRT_USB_BASE + 
IMXRT_USBDEV_PORTSC1_OFFSET)
-#define IMXRT_USBDEV_USBMODE               (IMXRT_USB_BASE + 
IMXRT_USBDEV_USBMODE_OFFSET)
-
-#define IMXRT_USBHOST_USBCMD               (IMXRT_USB_BASE + 
IMXRT_USBHOST_USBCMD_OFFSET)
-#define IMXRT_USBHOST_USBSTS               (IMXRT_USB_BASE + 
IMXRT_USBHOST_USBSTS_OFFSET)
-#define IMXRT_USBHOST_USBINTR              (IMXRT_USB_BASE + 
IMXRT_USBHOST_USBINTR_OFFSET)
-#define IMXRT_USBHOST_FRINDEX              (IMXRT_USB_BASE + 
IMXRT_USBHOST_FRINDEX_OFFSET)
-#define IMXRT_USBHOST_PERIODICLIST         (IMXRT_USB_BASE + 
IMXRT_USBHOST_PERIODICLIST_OFFSET)
-#define IMXRT_USBHOST_ASYNCLISTADDR        (IMXRT_USB_BASE + 
IMXRT_USBHOST_ASYNCLISTADDR_OFFSET)
-#define IMXRT_USBHOST_TTCTRL               (IMXRT_USB_BASE + 
IMXRT_USBHOST_TTCTRL_OFFSET)
-#define IMXRT_USBHOST_BURSTSIZE            (IMXRT_USB_BASE + 
IMXRT_USBHOST_BURSTSIZE_OFFSET)
-#define IMXRT_USBHOST_TXFILLTUNING         (IMXRT_USB_BASE + 
IMXRT_USBHOST_TXFILLTUNING_OFFSET)
-#define IMXRT_USBHOST_BINTERVAL            (IMXRT_USB_BASE + 
IMXRT_USBHOST_BINTERVAL_OFFSET)
-#define IMXRT_USBHOST_PORTSC1              (IMXRT_USB_BASE + 
IMXRT_USBHOST_PORTSC1_OFFSET)
-#define IMXRT_USBHOST_USBMODE              (IMXRT_USB_BASE + 
IMXRT_USBHOST_USBMODE_OFFSET)
+#define IMXRT_USBOTG_HCOR_BASE(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_HCOR_OFFSET)
+#define IMXRT_USBOTG_USBCMD(n)                (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_USBCMD_OFFSET)
+#define IMXRT_USBOTG_USBSTS(n)                (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_USBSTS_OFFSET)
+#define IMXRT_USBOTG_USBINTR(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_USBINTR_OFFSET)
+#define IMXRT_USBOTG_FRINDEX(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_FRINDEX_OFFSET)
+#define IMXRT_USBOTG_PERIODICLIST(n)          (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_PERIODICLIST_OFFSET)
+#define IMXRT_USBOTG_DEVICEADDR(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_DEVICEADDR_OFFSET)
+#define IMXRT_USBOTG_ASYNCLISTADDR(n)         (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_ASYNCLISTADDR_OFFSET)
+#define IMXRT_USBOTG_ENDPOINTLIST(n)          (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_ENDPOINTLIST_OFFSET)
+#define IMXRT_USBOTG_TTCTRL(n)                (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_TTCTRL_OFFSET)
+#define IMXRT_USBOTG_BURSTSIZE(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_BURSTSIZE_OFFSET)
+#define IMXRT_USBOTG_TXFILLTUNING(n)          (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_TXFILLTUNING_OFFSET)
+#define IMXRT_USBOTG_BINTERVAL(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_BINTERVAL_OFFSET)
+#define IMXRT_USBOTG_ENDPTNAK(n)              (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_ENDPTNAK_OFFSET)
+#define IMXRT_USBOTG_ENDPTNAKEN(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_ENDPTNAKEN_OFFSET)
+#define IMXRT_USBOTG_PORTSC1(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_PORTSC1_OFFSET)
+#define IMXRT_USBOTG_OTGSC(n)                 (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_OTGSC_OFFSET)
+#define IMXRT_USBOTG_USBMODE(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBOTG_USBMODE_OFFSET)
+
+#define IMXRT_USBDEV_USBCMD(n)                (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_USBCMD_OFFSET)
+#define IMXRT_USBDEV_USBSTS(n)                (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_USBSTS_OFFSET)
+#define IMXRT_USBDEV_USBINTR(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_USBINTR_OFFSET)
+#define IMXRT_USBDEV_FRINDEX(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_FRINDEX_OFFSET)
+#define IMXRT_USBDEV_DEVICEADDR(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_DEVICEADDR_OFFSET)
+#define IMXRT_USBDEV_ENDPOINTLIST(n)          (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_ENDPOINTLIST_OFFSET)
+#define IMXRT_USBDEV_BURSTSIZE(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_BURSTSIZE_OFFSET)
+#define IMXRT_USBDEV_BINTERVAL(n)             (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_BINTERVAL_OFFSET)
+#define IMXRT_USBDEV_ENDPTNAK(n)              (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_ENDPTNAK_OFFSET)
+#define IMXRT_USBDEV_ENDPTNAKEN(n)            (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_ENDPTNAKEN_OFFSET)
+#define IMXRT_USBDEV_PORTSC1(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_PORTSC1_OFFSET)
+#define IMXRT_USBDEV_USBMODE(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBDEV_USBMODE_OFFSET)
+
+#define IMXRT_USBHOST_USBCMD(n)               (IMXRT_USB_BASE + (0x200 * n) + 
IMXRT_USBHOST_USBCMD_OFFSET)

Review Comment:
   Good catch! I forgot to follow the defensive approach :-)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to