usb: gadget: net2280: Move all "ll" registers in one structure

The split into multiple structures of the "ll" register bank is
impractical. It makes it hard to add ll_lfps_timers_2 which is
at offset 0x794, which is outside of the existing "lfps" structure
and would require us to add yet another one.

Instead, move all the "ll" registers into a single usb338x_ll_regs
structure, and add ll_lfps_timers_2 while at it. It will be used
in a subsequent patch.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
Benjamin Herrenschmidt
2019-08-30 13:56:10 +10:00
committed by Felipe Balbi
parent 17b63704ec
commit ec8ca8a348
3 changed files with 36 additions and 30 deletions

View File

@@ -113,7 +113,10 @@ struct usb338x_ll_regs {
u32 ll_ltssm_ctrl1;
u32 ll_ltssm_ctrl2;
u32 ll_ltssm_ctrl3;
u32 unused[2];
u32 unused1;
/* 0x710 */
u32 unused2;
u32 ll_general_ctrl0;
u32 ll_general_ctrl1;
#define PM_U3_AUTO_EXIT 29
@@ -136,29 +139,41 @@ struct usb338x_ll_regs {
u32 ll_general_ctrl2;
#define SELECT_INVERT_LANE_POLARITY 7
#define FORCE_INVERT_LANE_POLARITY 6
/* 0x720 */
u32 ll_general_ctrl3;
u32 ll_general_ctrl4;
u32 ll_error_gen;
} __packed;
u32 unused3;
struct usb338x_ll_lfps_regs {
/* offset 0x748 */
/* 0x730 */
u32 unused4[4];
/* 0x740 */
u32 unused5[2];
u32 ll_lfps_5;
#define TIMER_LFPS_6US 16
u32 ll_lfps_6;
#define TIMER_LFPS_80US 0
} __packed;
struct usb338x_ll_tsn_regs {
/* offset 0x77C */
/* 0x750 */
u32 unused6[8];
/* 0x770 */
u32 unused7[3];
u32 ll_tsn_counters_2;
#define HOT_TX_NORESET_TS2 24
/* 0x780 */
u32 ll_tsn_counters_3;
#define HOT_RX_RESET_TS2 0
} __packed;
u32 unused8[3];
struct usb338x_ll_chi_regs {
/* offset 0x79C */
/* 0x790 */
u32 unused9;
u32 ll_lfps_timers_2;
#define LFPS_TIMERS_2_WORKAROUND_VALUE 0x084d
u32 unused10;
u32 ll_tsn_chicken_bit;
#define RECOVERY_IDLE_TO_RECOVER_FMW 3
} __packed;