Commit af8e4c71 authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Greg Kroah-Hartman

staging: octeon-usb: use __BITFIELD_FIELD

Use __BITFIELD_FIELD to define bitfields. OCTEON can at least in theory
run also in little-endian mode, so the bitfield definitions should not
assume big-endian byte order.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 31170da5
...@@ -47,6 +47,8 @@ ...@@ -47,6 +47,8 @@
#ifndef __OCTEON_HCD_H__ #ifndef __OCTEON_HCD_H__
#define __OCTEON_HCD_H__ #define __OCTEON_HCD_H__
#include <asm/bitfield.h>
#define CVMX_USBCXBASE 0x00016F0010000000ull #define CVMX_USBCXBASE 0x00016F0010000000ull
#define CVMX_USBCXREG1(reg, bid) \ #define CVMX_USBCXREG1(reg, bid) \
(CVMX_ADD_IO_SEG(CVMX_USBCXBASE | reg) + \ (CVMX_ADD_IO_SEG(CVMX_USBCXBASE | reg) + \
...@@ -143,13 +145,14 @@ union cvmx_usbcx_gahbcfg { ...@@ -143,13 +145,14 @@ union cvmx_usbcx_gahbcfg {
* * 1'b1: Unmask the interrupt assertion to the application. * * 1'b1: Unmask the interrupt assertion to the application.
*/ */
struct cvmx_usbcx_gahbcfg_s { struct cvmx_usbcx_gahbcfg_s {
uint32_t reserved_9_31 : 23; __BITFIELD_FIELD(uint32_t reserved_9_31 : 23,
uint32_t ptxfemplvl : 1; __BITFIELD_FIELD(uint32_t ptxfemplvl : 1,
uint32_t nptxfemplvl : 1; __BITFIELD_FIELD(uint32_t nptxfemplvl : 1,
uint32_t reserved_6_6 : 1; __BITFIELD_FIELD(uint32_t reserved_6_6 : 1,
uint32_t dmaen : 1; __BITFIELD_FIELD(uint32_t dmaen : 1,
uint32_t hbstlen : 4; __BITFIELD_FIELD(uint32_t hbstlen : 4,
uint32_t glblintrmsk : 1; __BITFIELD_FIELD(uint32_t glblintrmsk : 1,
;)))))))
} s; } s;
}; };
...@@ -209,16 +212,17 @@ union cvmx_usbcx_ghwcfg3 { ...@@ -209,16 +212,17 @@ union cvmx_usbcx_ghwcfg3 {
* * Others: Reserved * * Others: Reserved
*/ */
struct cvmx_usbcx_ghwcfg3_s { struct cvmx_usbcx_ghwcfg3_s {
uint32_t dfifodepth : 16; __BITFIELD_FIELD(uint32_t dfifodepth : 16,
uint32_t reserved_13_15 : 3; __BITFIELD_FIELD(uint32_t reserved_13_15 : 3,
uint32_t ahbphysync : 1; __BITFIELD_FIELD(uint32_t ahbphysync : 1,
uint32_t rsttype : 1; __BITFIELD_FIELD(uint32_t rsttype : 1,
uint32_t optfeature : 1; __BITFIELD_FIELD(uint32_t optfeature : 1,
uint32_t vendor_control_interface_support : 1; __BITFIELD_FIELD(uint32_t vendor_control_interface_support : 1,
uint32_t i2c_selection : 1; __BITFIELD_FIELD(uint32_t i2c_selection : 1,
uint32_t otgen : 1; __BITFIELD_FIELD(uint32_t otgen : 1,
uint32_t pktsizewidth : 3; __BITFIELD_FIELD(uint32_t pktsizewidth : 3,
uint32_t xfersizewidth : 4; __BITFIELD_FIELD(uint32_t xfersizewidth : 4,
;))))))))))
} s; } s;
}; };
...@@ -275,38 +279,39 @@ union cvmx_usbcx_gintmsk { ...@@ -275,38 +279,39 @@ union cvmx_usbcx_gintmsk {
* @modemismsk: Mode Mismatch Interrupt Mask (ModeMisMsk) * @modemismsk: Mode Mismatch Interrupt Mask (ModeMisMsk)
*/ */
struct cvmx_usbcx_gintmsk_s { struct cvmx_usbcx_gintmsk_s {
uint32_t wkupintmsk : 1; __BITFIELD_FIELD(uint32_t wkupintmsk : 1,
uint32_t sessreqintmsk : 1; __BITFIELD_FIELD(uint32_t sessreqintmsk : 1,
uint32_t disconnintmsk : 1; __BITFIELD_FIELD(uint32_t disconnintmsk : 1,
uint32_t conidstschngmsk : 1; __BITFIELD_FIELD(uint32_t conidstschngmsk : 1,
uint32_t reserved_27_27 : 1; __BITFIELD_FIELD(uint32_t reserved_27_27 : 1,
uint32_t ptxfempmsk : 1; __BITFIELD_FIELD(uint32_t ptxfempmsk : 1,
uint32_t hchintmsk : 1; __BITFIELD_FIELD(uint32_t hchintmsk : 1,
uint32_t prtintmsk : 1; __BITFIELD_FIELD(uint32_t prtintmsk : 1,
uint32_t reserved_23_23 : 1; __BITFIELD_FIELD(uint32_t reserved_23_23 : 1,
uint32_t fetsuspmsk : 1; __BITFIELD_FIELD(uint32_t fetsuspmsk : 1,
uint32_t incomplpmsk : 1; __BITFIELD_FIELD(uint32_t incomplpmsk : 1,
uint32_t incompisoinmsk : 1; __BITFIELD_FIELD(uint32_t incompisoinmsk : 1,
uint32_t oepintmsk : 1; __BITFIELD_FIELD(uint32_t oepintmsk : 1,
uint32_t inepintmsk : 1; __BITFIELD_FIELD(uint32_t inepintmsk : 1,
uint32_t epmismsk : 1; __BITFIELD_FIELD(uint32_t epmismsk : 1,
uint32_t reserved_16_16 : 1; __BITFIELD_FIELD(uint32_t reserved_16_16 : 1,
uint32_t eopfmsk : 1; __BITFIELD_FIELD(uint32_t eopfmsk : 1,
uint32_t isooutdropmsk : 1; __BITFIELD_FIELD(uint32_t isooutdropmsk : 1,
uint32_t enumdonemsk : 1; __BITFIELD_FIELD(uint32_t enumdonemsk : 1,
uint32_t usbrstmsk : 1; __BITFIELD_FIELD(uint32_t usbrstmsk : 1,
uint32_t usbsuspmsk : 1; __BITFIELD_FIELD(uint32_t usbsuspmsk : 1,
uint32_t erlysuspmsk : 1; __BITFIELD_FIELD(uint32_t erlysuspmsk : 1,
uint32_t i2cint : 1; __BITFIELD_FIELD(uint32_t i2cint : 1,
uint32_t ulpickintmsk : 1; __BITFIELD_FIELD(uint32_t ulpickintmsk : 1,
uint32_t goutnakeffmsk : 1; __BITFIELD_FIELD(uint32_t goutnakeffmsk : 1,
uint32_t ginnakeffmsk : 1; __BITFIELD_FIELD(uint32_t ginnakeffmsk : 1,
uint32_t nptxfempmsk : 1; __BITFIELD_FIELD(uint32_t nptxfempmsk : 1,
uint32_t rxflvlmsk : 1; __BITFIELD_FIELD(uint32_t rxflvlmsk : 1,
uint32_t sofmsk : 1; __BITFIELD_FIELD(uint32_t sofmsk : 1,
uint32_t otgintmsk : 1; __BITFIELD_FIELD(uint32_t otgintmsk : 1,
uint32_t modemismsk : 1; __BITFIELD_FIELD(uint32_t modemismsk : 1,
uint32_t reserved_0_0 : 1; __BITFIELD_FIELD(uint32_t reserved_0_0 : 1,
;))))))))))))))))))))))))))))))))
} s; } s;
}; };
...@@ -504,38 +509,39 @@ union cvmx_usbcx_gintsts { ...@@ -504,38 +509,39 @@ union cvmx_usbcx_gintsts {
* * 1'b1: Host mode * * 1'b1: Host mode
*/ */
struct cvmx_usbcx_gintsts_s { struct cvmx_usbcx_gintsts_s {
uint32_t wkupint : 1; __BITFIELD_FIELD(uint32_t wkupint : 1,
uint32_t sessreqint : 1; __BITFIELD_FIELD(uint32_t sessreqint : 1,
uint32_t disconnint : 1; __BITFIELD_FIELD(uint32_t disconnint : 1,
uint32_t conidstschng : 1; __BITFIELD_FIELD(uint32_t conidstschng : 1,
uint32_t reserved_27_27 : 1; __BITFIELD_FIELD(uint32_t reserved_27_27 : 1,
uint32_t ptxfemp : 1; __BITFIELD_FIELD(uint32_t ptxfemp : 1,
uint32_t hchint : 1; __BITFIELD_FIELD(uint32_t hchint : 1,
uint32_t prtint : 1; __BITFIELD_FIELD(uint32_t prtint : 1,
uint32_t reserved_23_23 : 1; __BITFIELD_FIELD(uint32_t reserved_23_23 : 1,
uint32_t fetsusp : 1; __BITFIELD_FIELD(uint32_t fetsusp : 1,
uint32_t incomplp : 1; __BITFIELD_FIELD(uint32_t incomplp : 1,
uint32_t incompisoin : 1; __BITFIELD_FIELD(uint32_t incompisoin : 1,
uint32_t oepint : 1; __BITFIELD_FIELD(uint32_t oepint : 1,
uint32_t iepint : 1; __BITFIELD_FIELD(uint32_t iepint : 1,
uint32_t epmis : 1; __BITFIELD_FIELD(uint32_t epmis : 1,
uint32_t reserved_16_16 : 1; __BITFIELD_FIELD(uint32_t reserved_16_16 : 1,
uint32_t eopf : 1; __BITFIELD_FIELD(uint32_t eopf : 1,
uint32_t isooutdrop : 1; __BITFIELD_FIELD(uint32_t isooutdrop : 1,
uint32_t enumdone : 1; __BITFIELD_FIELD(uint32_t enumdone : 1,
uint32_t usbrst : 1; __BITFIELD_FIELD(uint32_t usbrst : 1,
uint32_t usbsusp : 1; __BITFIELD_FIELD(uint32_t usbsusp : 1,
uint32_t erlysusp : 1; __BITFIELD_FIELD(uint32_t erlysusp : 1,
uint32_t i2cint : 1; __BITFIELD_FIELD(uint32_t i2cint : 1,
uint32_t ulpickint : 1; __BITFIELD_FIELD(uint32_t ulpickint : 1,
uint32_t goutnakeff : 1; __BITFIELD_FIELD(uint32_t goutnakeff : 1,
uint32_t ginnakeff : 1; __BITFIELD_FIELD(uint32_t ginnakeff : 1,
uint32_t nptxfemp : 1; __BITFIELD_FIELD(uint32_t nptxfemp : 1,
uint32_t rxflvl : 1; __BITFIELD_FIELD(uint32_t rxflvl : 1,
uint32_t sof : 1; __BITFIELD_FIELD(uint32_t sof : 1,
uint32_t otgint : 1; __BITFIELD_FIELD(uint32_t otgint : 1,
uint32_t modemis : 1; __BITFIELD_FIELD(uint32_t modemis : 1,
uint32_t curmod : 1; __BITFIELD_FIELD(uint32_t curmod : 1,
;))))))))))))))))))))))))))))))))
} s; } s;
}; };
...@@ -560,8 +566,9 @@ union cvmx_usbcx_gnptxfsiz { ...@@ -560,8 +566,9 @@ union cvmx_usbcx_gnptxfsiz {
* Transmit FIFO RAM. * Transmit FIFO RAM.
*/ */
struct cvmx_usbcx_gnptxfsiz_s { struct cvmx_usbcx_gnptxfsiz_s {
uint32_t nptxfdep : 16; __BITFIELD_FIELD(uint32_t nptxfdep : 16,
uint32_t nptxfstaddr : 16; __BITFIELD_FIELD(uint32_t nptxfstaddr : 16,
;))
} s; } s;
}; };
...@@ -610,10 +617,11 @@ union cvmx_usbcx_gnptxsts { ...@@ -610,10 +617,11 @@ union cvmx_usbcx_gnptxsts {
* * Others: Reserved * * Others: Reserved
*/ */
struct cvmx_usbcx_gnptxsts_s { struct cvmx_usbcx_gnptxsts_s {
uint32_t reserved_31_31 : 1; __BITFIELD_FIELD(uint32_t reserved_31_31 : 1,
uint32_t nptxqtop : 7; __BITFIELD_FIELD(uint32_t nptxqtop : 7,
uint32_t nptxqspcavail : 8; __BITFIELD_FIELD(uint32_t nptxqspcavail : 8,
uint32_t nptxfspcavail : 16; __BITFIELD_FIELD(uint32_t nptxfspcavail : 16,
;))))
} s; } s;
}; };
...@@ -731,16 +739,17 @@ union cvmx_usbcx_grstctl { ...@@ -731,16 +739,17 @@ union cvmx_usbcx_grstctl {
* selected, the PHY domain has to be reset for proper operation. * selected, the PHY domain has to be reset for proper operation.
*/ */
struct cvmx_usbcx_grstctl_s { struct cvmx_usbcx_grstctl_s {
uint32_t ahbidle : 1; __BITFIELD_FIELD(uint32_t ahbidle : 1,
uint32_t dmareq : 1; __BITFIELD_FIELD(uint32_t dmareq : 1,
uint32_t reserved_11_29 : 19; __BITFIELD_FIELD(uint32_t reserved_11_29 : 19,
uint32_t txfnum : 5; __BITFIELD_FIELD(uint32_t txfnum : 5,
uint32_t txfflsh : 1; __BITFIELD_FIELD(uint32_t txfflsh : 1,
uint32_t rxfflsh : 1; __BITFIELD_FIELD(uint32_t rxfflsh : 1,
uint32_t intknqflsh : 1; __BITFIELD_FIELD(uint32_t intknqflsh : 1,
uint32_t frmcntrrst : 1; __BITFIELD_FIELD(uint32_t frmcntrrst : 1,
uint32_t hsftrst : 1; __BITFIELD_FIELD(uint32_t hsftrst : 1,
uint32_t csftrst : 1; __BITFIELD_FIELD(uint32_t csftrst : 1,
;))))))))))
} s; } s;
}; };
...@@ -762,8 +771,9 @@ union cvmx_usbcx_grxfsiz { ...@@ -762,8 +771,9 @@ union cvmx_usbcx_grxfsiz {
* * Maximum value is 32768 * * Maximum value is 32768
*/ */
struct cvmx_usbcx_grxfsiz_s { struct cvmx_usbcx_grxfsiz_s {
uint32_t reserved_16_31 : 16; __BITFIELD_FIELD(uint32_t reserved_16_31 : 16,
uint32_t rxfdep : 16; __BITFIELD_FIELD(uint32_t rxfdep : 16,
;))
} s; } s;
}; };
...@@ -804,11 +814,12 @@ union cvmx_usbcx_grxstsph { ...@@ -804,11 +814,12 @@ union cvmx_usbcx_grxstsph {
* packet belongs. * packet belongs.
*/ */
struct cvmx_usbcx_grxstsph_s { struct cvmx_usbcx_grxstsph_s {
uint32_t reserved_21_31 : 11; __BITFIELD_FIELD(uint32_t reserved_21_31 : 11,
uint32_t pktsts : 4; __BITFIELD_FIELD(uint32_t pktsts : 4,
uint32_t dpid : 2; __BITFIELD_FIELD(uint32_t dpid : 2,
uint32_t bcnt : 11; __BITFIELD_FIELD(uint32_t bcnt : 11,
uint32_t chnum : 4; __BITFIELD_FIELD(uint32_t chnum : 4,
;)))))
} s; } s;
}; };
...@@ -884,19 +895,20 @@ union cvmx_usbcx_gusbcfg { ...@@ -884,19 +895,20 @@ union cvmx_usbcx_gusbcfg {
* * One 48-MHz PHY clock = 0.25 bit times * * One 48-MHz PHY clock = 0.25 bit times
*/ */
struct cvmx_usbcx_gusbcfg_s { struct cvmx_usbcx_gusbcfg_s {
uint32_t reserved_17_31 : 15; __BITFIELD_FIELD(uint32_t reserved_17_31 : 15,
uint32_t otgi2csel : 1; __BITFIELD_FIELD(uint32_t otgi2csel : 1,
uint32_t phylpwrclksel : 1; __BITFIELD_FIELD(uint32_t phylpwrclksel : 1,
uint32_t reserved_14_14 : 1; __BITFIELD_FIELD(uint32_t reserved_14_14 : 1,
uint32_t usbtrdtim : 4; __BITFIELD_FIELD(uint32_t usbtrdtim : 4,
uint32_t hnpcap : 1; __BITFIELD_FIELD(uint32_t hnpcap : 1,
uint32_t srpcap : 1; __BITFIELD_FIELD(uint32_t srpcap : 1,
uint32_t ddrsel : 1; __BITFIELD_FIELD(uint32_t ddrsel : 1,
uint32_t physel : 1; __BITFIELD_FIELD(uint32_t physel : 1,
uint32_t fsintf : 1; __BITFIELD_FIELD(uint32_t fsintf : 1,
uint32_t ulpi_utmi_sel : 1; __BITFIELD_FIELD(uint32_t ulpi_utmi_sel : 1,
uint32_t phyif : 1; __BITFIELD_FIELD(uint32_t phyif : 1,
uint32_t toutcal : 3; __BITFIELD_FIELD(uint32_t toutcal : 3,
;)))))))))))))
} s; } s;
}; };
...@@ -920,8 +932,9 @@ union cvmx_usbcx_haint { ...@@ -920,8 +932,9 @@ union cvmx_usbcx_haint {
* One bit per channel: Bit 0 for Channel 0, bit 15 for Channel 15 * One bit per channel: Bit 0 for Channel 0, bit 15 for Channel 15
*/ */
struct cvmx_usbcx_haint_s { struct cvmx_usbcx_haint_s {
uint32_t reserved_16_31 : 16; __BITFIELD_FIELD(uint32_t reserved_16_31 : 16,
uint32_t haint : 16; __BITFIELD_FIELD(uint32_t haint : 16,
;))
} s; } s;
}; };
...@@ -944,8 +957,9 @@ union cvmx_usbcx_haintmsk { ...@@ -944,8 +957,9 @@ union cvmx_usbcx_haintmsk {
* One bit per channel: Bit 0 for channel 0, bit 15 for channel 15 * One bit per channel: Bit 0 for channel 0, bit 15 for channel 15
*/ */
struct cvmx_usbcx_haintmsk_s { struct cvmx_usbcx_haintmsk_s {
uint32_t reserved_16_31 : 16; __BITFIELD_FIELD(uint32_t reserved_16_31 : 16,
uint32_t haintmsk : 16; __BITFIELD_FIELD(uint32_t haintmsk : 16,
;))
} s; } s;
}; };
...@@ -1014,17 +1028,18 @@ union cvmx_usbcx_hccharx { ...@@ -1014,17 +1028,18 @@ union cvmx_usbcx_hccharx {
* Indicates the maximum packet size of the associated endpoint. * Indicates the maximum packet size of the associated endpoint.
*/ */
struct cvmx_usbcx_hccharx_s { struct cvmx_usbcx_hccharx_s {
uint32_t chena : 1; __BITFIELD_FIELD(uint32_t chena : 1,
uint32_t chdis : 1; __BITFIELD_FIELD(uint32_t chdis : 1,
uint32_t oddfrm : 1; __BITFIELD_FIELD(uint32_t oddfrm : 1,
uint32_t devaddr : 7; __BITFIELD_FIELD(uint32_t devaddr : 7,
uint32_t ec : 2; __BITFIELD_FIELD(uint32_t ec : 2,
uint32_t eptype : 2; __BITFIELD_FIELD(uint32_t eptype : 2,
uint32_t lspddev : 1; __BITFIELD_FIELD(uint32_t lspddev : 1,
uint32_t reserved_16_16 : 1; __BITFIELD_FIELD(uint32_t reserved_16_16 : 1,
uint32_t epdir : 1; __BITFIELD_FIELD(uint32_t epdir : 1,
uint32_t epnum : 4; __BITFIELD_FIELD(uint32_t epnum : 4,
uint32_t mps : 11; __BITFIELD_FIELD(uint32_t mps : 11,
;)))))))))))
} s; } s;
}; };
...@@ -1069,9 +1084,10 @@ union cvmx_usbcx_hcfg { ...@@ -1069,9 +1084,10 @@ union cvmx_usbcx_hcfg {
* * 2'b11: Reserved * * 2'b11: Reserved
*/ */
struct cvmx_usbcx_hcfg_s { struct cvmx_usbcx_hcfg_s {
uint32_t reserved_3_31 : 29; __BITFIELD_FIELD(uint32_t reserved_3_31 : 29,
uint32_t fslssupp : 1; __BITFIELD_FIELD(uint32_t fslssupp : 1,
uint32_t fslspclksel : 2; __BITFIELD_FIELD(uint32_t fslspclksel : 2,
;)))
} s; } s;
}; };
...@@ -1110,18 +1126,19 @@ union cvmx_usbcx_hcintx { ...@@ -1110,18 +1126,19 @@ union cvmx_usbcx_hcintx {
* Transfer completed normally without any errors. * Transfer completed normally without any errors.
*/ */
struct cvmx_usbcx_hcintx_s { struct cvmx_usbcx_hcintx_s {
uint32_t reserved_11_31 : 21; __BITFIELD_FIELD(uint32_t reserved_11_31 : 21,
uint32_t datatglerr : 1; __BITFIELD_FIELD(uint32_t datatglerr : 1,
uint32_t frmovrun : 1; __BITFIELD_FIELD(uint32_t frmovrun : 1,
uint32_t bblerr : 1; __BITFIELD_FIELD(uint32_t bblerr : 1,
uint32_t xacterr : 1; __BITFIELD_FIELD(uint32_t xacterr : 1,
uint32_t nyet : 1; __BITFIELD_FIELD(uint32_t nyet : 1,
uint32_t ack : 1; __BITFIELD_FIELD(uint32_t ack : 1,
uint32_t nak : 1; __BITFIELD_FIELD(uint32_t nak : 1,
uint32_t stall : 1; __BITFIELD_FIELD(uint32_t stall : 1,
uint32_t ahberr : 1; __BITFIELD_FIELD(uint32_t ahberr : 1,
uint32_t chhltd : 1; __BITFIELD_FIELD(uint32_t chhltd : 1,
uint32_t xfercompl : 1; __BITFIELD_FIELD(uint32_t xfercompl : 1,
;))))))))))))
} s; } s;
}; };
...@@ -1151,18 +1168,19 @@ union cvmx_usbcx_hcintmskx { ...@@ -1151,18 +1168,19 @@ union cvmx_usbcx_hcintmskx {
* @xfercomplmsk: Transfer Completed Mask (XferComplMsk) * @xfercomplmsk: Transfer Completed Mask (XferComplMsk)
*/ */
struct cvmx_usbcx_hcintmskx_s { struct cvmx_usbcx_hcintmskx_s {
uint32_t reserved_11_31 : 21; __BITFIELD_FIELD(uint32_t reserved_11_31 : 21,
uint32_t datatglerrmsk : 1; __BITFIELD_FIELD(uint32_t datatglerrmsk : 1,
uint32_t frmovrunmsk : 1; __BITFIELD_FIELD(uint32_t frmovrunmsk : 1,
uint32_t bblerrmsk : 1; __BITFIELD_FIELD(uint32_t bblerrmsk : 1,
uint32_t xacterrmsk : 1; __BITFIELD_FIELD(uint32_t xacterrmsk : 1,
uint32_t nyetmsk : 1; __BITFIELD_FIELD(uint32_t nyetmsk : 1,
uint32_t ackmsk : 1; __BITFIELD_FIELD(uint32_t ackmsk : 1,
uint32_t nakmsk : 1; __BITFIELD_FIELD(uint32_t nakmsk : 1,
uint32_t stallmsk : 1; __BITFIELD_FIELD(uint32_t stallmsk : 1,
uint32_t ahberrmsk : 1; __BITFIELD_FIELD(uint32_t ahberrmsk : 1,
uint32_t chhltdmsk : 1; __BITFIELD_FIELD(uint32_t chhltdmsk : 1,
uint32_t xfercomplmsk : 1; __BITFIELD_FIELD(uint32_t xfercomplmsk : 1,
;))))))))))))
} s; } s;
}; };
...@@ -1201,12 +1219,13 @@ union cvmx_usbcx_hcspltx { ...@@ -1201,12 +1219,13 @@ union cvmx_usbcx_hcspltx {
* translator. * translator.
*/ */
struct cvmx_usbcx_hcspltx_s { struct cvmx_usbcx_hcspltx_s {
uint32_t spltena : 1; __BITFIELD_FIELD(uint32_t spltena : 1,
uint32_t reserved_17_30 : 14; __BITFIELD_FIELD(uint32_t reserved_17_30 : 14,
uint32_t compsplt : 1; __BITFIELD_FIELD(uint32_t compsplt : 1,
uint32_t xactpos : 2; __BITFIELD_FIELD(uint32_t xactpos : 2,
uint32_t hubaddr : 7; __BITFIELD_FIELD(uint32_t hubaddr : 7,
uint32_t prtaddr : 7; __BITFIELD_FIELD(uint32_t prtaddr : 7,
;))))))
} s; } s;
}; };
...@@ -1246,10 +1265,11 @@ union cvmx_usbcx_hctsizx { ...@@ -1246,10 +1265,11 @@ union cvmx_usbcx_hctsizx {
* size for IN transactions (periodic and non-periodic). * size for IN transactions (periodic and non-periodic).
*/ */
struct cvmx_usbcx_hctsizx_s { struct cvmx_usbcx_hctsizx_s {
uint32_t dopng : 1; __BITFIELD_FIELD(uint32_t dopng : 1,
uint32_t pid : 2; __BITFIELD_FIELD(uint32_t pid : 2,
uint32_t pktcnt : 10; __BITFIELD_FIELD(uint32_t pktcnt : 10,
uint32_t xfersize : 19; __BITFIELD_FIELD(uint32_t xfersize : 19,
;))))
} s; } s;
}; };
...@@ -1283,8 +1303,9 @@ union cvmx_usbcx_hfir { ...@@ -1283,8 +1303,9 @@ union cvmx_usbcx_hfir {
* * 1 ms (PHY clock frequency for FS/LS) * * 1 ms (PHY clock frequency for FS/LS)
*/ */
struct cvmx_usbcx_hfir_s { struct cvmx_usbcx_hfir_s {
uint32_t reserved_16_31 : 16; __BITFIELD_FIELD(uint32_t reserved_16_31 : 16,
uint32_t frint : 16; __BITFIELD_FIELD(uint32_t frint : 16,
;))
} s; } s;
}; };
...@@ -1312,8 +1333,9 @@ union cvmx_usbcx_hfnum { ...@@ -1312,8 +1333,9 @@ union cvmx_usbcx_hfnum {
* USB, and is reset to 0 when it reaches 16'h3FFF. * USB, and is reset to 0 when it reaches 16'h3FFF.
*/ */
struct cvmx_usbcx_hfnum_s { struct cvmx_usbcx_hfnum_s {
uint32_t frrem : 16; __BITFIELD_FIELD(uint32_t frrem : 16,
uint32_t frnum : 16; __BITFIELD_FIELD(uint32_t frnum : 16,
;))
} s; } s;
}; };
...@@ -1439,21 +1461,22 @@ union cvmx_usbcx_hprt { ...@@ -1439,21 +1461,22 @@ union cvmx_usbcx_hprt {
* * 1: A device is attached to the port. * * 1: A device is attached to the port.
*/ */
struct cvmx_usbcx_hprt_s { struct cvmx_usbcx_hprt_s {
uint32_t reserved_19_31 : 13; __BITFIELD_FIELD(uint32_t reserved_19_31 : 13,
uint32_t prtspd : 2; __BITFIELD_FIELD(uint32_t prtspd : 2,
uint32_t prttstctl : 4; __BITFIELD_FIELD(uint32_t prttstctl : 4,
uint32_t prtpwr : 1; __BITFIELD_FIELD(uint32_t prtpwr : 1,
uint32_t prtlnsts : 2; __BITFIELD_FIELD(uint32_t prtlnsts : 2,
uint32_t reserved_9_9 : 1; __BITFIELD_FIELD(uint32_t reserved_9_9 : 1,
uint32_t prtrst : 1; __BITFIELD_FIELD(uint32_t prtrst : 1,
uint32_t prtsusp : 1; __BITFIELD_FIELD(uint32_t prtsusp : 1,
uint32_t prtres : 1; __BITFIELD_FIELD(uint32_t prtres : 1,
uint32_t prtovrcurrchng : 1; __BITFIELD_FIELD(uint32_t prtovrcurrchng : 1,
uint32_t prtovrcurract : 1; __BITFIELD_FIELD(uint32_t prtovrcurract : 1,
uint32_t prtenchng : 1; __BITFIELD_FIELD(uint32_t prtenchng : 1,
uint32_t prtena : 1; __BITFIELD_FIELD(uint32_t prtena : 1,
uint32_t prtconndet : 1; __BITFIELD_FIELD(uint32_t prtconndet : 1,
uint32_t prtconnsts : 1; __BITFIELD_FIELD(uint32_t prtconnsts : 1,
;)))))))))))))))
} s; } s;
}; };
...@@ -1476,8 +1499,9 @@ union cvmx_usbcx_hptxfsiz { ...@@ -1476,8 +1499,9 @@ union cvmx_usbcx_hptxfsiz {
* @ptxfstaddr: Host Periodic TxFIFO Start Address (PTxFStAddr) * @ptxfstaddr: Host Periodic TxFIFO Start Address (PTxFStAddr)
*/ */
struct cvmx_usbcx_hptxfsiz_s { struct cvmx_usbcx_hptxfsiz_s {
uint32_t ptxfsize : 16; __BITFIELD_FIELD(uint32_t ptxfsize : 16,
uint32_t ptxfstaddr : 16; __BITFIELD_FIELD(uint32_t ptxfstaddr : 16,
;))
} s; } s;
}; };
...@@ -1531,9 +1555,10 @@ union cvmx_usbcx_hptxsts { ...@@ -1531,9 +1555,10 @@ union cvmx_usbcx_hptxsts {
* * Others: Reserved * * Others: Reserved
*/ */
struct cvmx_usbcx_hptxsts_s { struct cvmx_usbcx_hptxsts_s {
uint32_t ptxqtop : 8; __BITFIELD_FIELD(uint32_t ptxqtop : 8,
uint32_t ptxqspcavail : 8; __BITFIELD_FIELD(uint32_t ptxqspcavail : 8,
uint32_t ptxfspcavail : 16; __BITFIELD_FIELD(uint32_t ptxfspcavail : 16,
;)))
} s; } s;
}; };
...@@ -1636,21 +1661,22 @@ union cvmx_usbnx_clk_ctl { ...@@ -1636,21 +1661,22 @@ union cvmx_usbnx_clk_ctl {
* until AFTER this field is set and then read. * until AFTER this field is set and then read.
*/ */
struct cvmx_usbnx_clk_ctl_s { struct cvmx_usbnx_clk_ctl_s {
uint64_t reserved_20_63 : 44; __BITFIELD_FIELD(uint64_t reserved_20_63 : 44,
uint64_t divide2 : 2; __BITFIELD_FIELD(uint64_t divide2 : 2,
uint64_t hclk_rst : 1; __BITFIELD_FIELD(uint64_t hclk_rst : 1,
uint64_t p_x_on : 1; __BITFIELD_FIELD(uint64_t p_x_on : 1,
uint64_t p_rtype : 2; __BITFIELD_FIELD(uint64_t p_rtype : 2,
uint64_t p_com_on : 1; __BITFIELD_FIELD(uint64_t p_com_on : 1,
uint64_t p_c_sel : 2; __BITFIELD_FIELD(uint64_t p_c_sel : 2,
uint64_t cdiv_byp : 1; __BITFIELD_FIELD(uint64_t cdiv_byp : 1,
uint64_t sd_mode : 2; __BITFIELD_FIELD(uint64_t sd_mode : 2,
uint64_t s_bist : 1; __BITFIELD_FIELD(uint64_t s_bist : 1,
uint64_t por : 1; __BITFIELD_FIELD(uint64_t por : 1,
uint64_t enable : 1; __BITFIELD_FIELD(uint64_t enable : 1,
uint64_t prst : 1; __BITFIELD_FIELD(uint64_t prst : 1,
uint64_t hrst : 1; __BITFIELD_FIELD(uint64_t hrst : 1,
uint64_t divide : 3; __BITFIELD_FIELD(uint64_t divide : 3,
;)))))))))))))))
} s; } s;
}; };
...@@ -1778,41 +1804,42 @@ union cvmx_usbnx_usbp_ctl_status { ...@@ -1778,41 +1804,42 @@ union cvmx_usbnx_usbp_ctl_status {
* de-assertion. * de-assertion.
*/ */
struct cvmx_usbnx_usbp_ctl_status_s { struct cvmx_usbnx_usbp_ctl_status_s {
uint64_t txrisetune : 1; __BITFIELD_FIELD(uint64_t txrisetune : 1,
uint64_t txvreftune : 4; __BITFIELD_FIELD(uint64_t txvreftune : 4,
uint64_t txfslstune : 4; __BITFIELD_FIELD(uint64_t txfslstune : 4,
uint64_t txhsxvtune : 2; __BITFIELD_FIELD(uint64_t txhsxvtune : 2,
uint64_t sqrxtune : 3; __BITFIELD_FIELD(uint64_t sqrxtune : 3,
uint64_t compdistune : 3; __BITFIELD_FIELD(uint64_t compdistune : 3,
uint64_t otgtune : 3; __BITFIELD_FIELD(uint64_t otgtune : 3,
uint64_t otgdisable : 1; __BITFIELD_FIELD(uint64_t otgdisable : 1,
uint64_t portreset : 1; __BITFIELD_FIELD(uint64_t portreset : 1,
uint64_t drvvbus : 1; __BITFIELD_FIELD(uint64_t drvvbus : 1,
uint64_t lsbist : 1; __BITFIELD_FIELD(uint64_t lsbist : 1,
uint64_t fsbist : 1; __BITFIELD_FIELD(uint64_t fsbist : 1,
uint64_t hsbist : 1; __BITFIELD_FIELD(uint64_t hsbist : 1,
uint64_t bist_done : 1; __BITFIELD_FIELD(uint64_t bist_done : 1,
uint64_t bist_err : 1; __BITFIELD_FIELD(uint64_t bist_err : 1,
uint64_t tdata_out : 4; __BITFIELD_FIELD(uint64_t tdata_out : 4,
uint64_t siddq : 1; __BITFIELD_FIELD(uint64_t siddq : 1,
uint64_t txpreemphasistune : 1; __BITFIELD_FIELD(uint64_t txpreemphasistune : 1,
uint64_t dma_bmode : 1; __BITFIELD_FIELD(uint64_t dma_bmode : 1,
uint64_t usbc_end : 1; __BITFIELD_FIELD(uint64_t usbc_end : 1,
uint64_t usbp_bist : 1; __BITFIELD_FIELD(uint64_t usbp_bist : 1,
uint64_t tclk : 1; __BITFIELD_FIELD(uint64_t tclk : 1,
uint64_t dp_pulld : 1; __BITFIELD_FIELD(uint64_t dp_pulld : 1,
uint64_t dm_pulld : 1; __BITFIELD_FIELD(uint64_t dm_pulld : 1,
uint64_t hst_mode : 1; __BITFIELD_FIELD(uint64_t hst_mode : 1,
uint64_t tuning : 4; __BITFIELD_FIELD(uint64_t tuning : 4,
uint64_t tx_bs_enh : 1; __BITFIELD_FIELD(uint64_t tx_bs_enh : 1,
uint64_t tx_bs_en : 1; __BITFIELD_FIELD(uint64_t tx_bs_en : 1,
uint64_t loop_enb : 1; __BITFIELD_FIELD(uint64_t loop_enb : 1,
uint64_t vtest_enb : 1; __BITFIELD_FIELD(uint64_t vtest_enb : 1,
uint64_t bist_enb : 1; __BITFIELD_FIELD(uint64_t bist_enb : 1,
uint64_t tdata_sel : 1; __BITFIELD_FIELD(uint64_t tdata_sel : 1,
uint64_t taddr_in : 4; __BITFIELD_FIELD(uint64_t taddr_in : 4,
uint64_t tdata_in : 8; __BITFIELD_FIELD(uint64_t tdata_in : 8,
uint64_t ate_reset : 1; __BITFIELD_FIELD(uint64_t ate_reset : 1,
;)))))))))))))))))))))))))))))))))))
} s; } s;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment