Skip to content

Commit 17c7974

Browse files
committed
fix sm8850 dbg2 issue.
1 parent ff319e7 commit 17c7974

File tree

2 files changed

+81
-9
lines changed

2 files changed

+81
-9
lines changed

include/common/dbg2.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
/** Reference
55
https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/acpi-debug-port-table
66
*/
7-
//
7+
88
/* Table signature */
99
#define ACPI_DBG2_SIGNATURE 'D', 'B', 'G', '2'
1010
#define ACPI_DBG2_REVISION 1
@@ -124,6 +124,13 @@ enum DBG2_DEBUG_PORT_SUBTYPE_NET {
124124
__VA_OPT__(__VA_ARGS__) \
125125
} __attribute__((packed)) ACPI_DBG2_TABLE_STRUCTURE_NAME;
126126

127+
#define DBG2_DECLARE_HEADER_EXTRA_DATA(info_count) \
128+
.Dbg2HeaderExtraData = { \
129+
.OffsetDbgDeviceInfo = \
130+
sizeof(ACPI_TABLE_HEADER) + sizeof(DBG2_HEADER_EXTRA_DATA), \
131+
.NumberOfDbgDevices = info_count, \
132+
}
133+
127134
#define DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(name) \
128135
DBG2_DEBUG_DEVICE_INFO_STRUCTURE_##name
129136

include/vendor/qcom/sm8850/dbg2.h

Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,39 +24,46 @@ _Static_assert(sizeof(DBG2_DEBUG_DEVICE_INFO_STRUCTURE_UARD) ==
2424
" size incorrect");
2525
;
2626

27-
DBG2_DEFINE_DEBUG_DEVICE_INFO_STRUCTURE(URS0, URS0_NUM_GAS,
27+
DBG2_DEFINE_DEBUG_DEVICE_INFO_STRUCTURE(URS0HS, URS0_NUM_GAS,
28+
sizeof(URS0_NAMESPACE_STRING),
29+
USB_OEM_DATA_SIZE);
30+
DBG2_DEFINE_DEBUG_DEVICE_INFO_STRUCTURE(URS0SS, URS0_NUM_GAS,
2831
sizeof(URS0_NAMESPACE_STRING),
2932
USB_OEM_DATA_SIZE);
3033

3134
DBG2_DEFINE_TABLE(DBG2_DEFINE_DEVICE_INFO_IN_TABLE(UARD);
32-
DBG2_DEFINE_DEVICE_INFO_IN_TABLE(URS0););
35+
DBG2_DEFINE_DEVICE_INFO_IN_TABLE(URS0HS);
36+
DBG2_DEFINE_DEVICE_INFO_IN_TABLE(URS0SS););
3337
DBG2_DEFINE_WITH_MAGIC;
3438

3539
/* Initialize struct */
3640
DBG2_START{
3741
DBG2_DECLARE_HEADER,
42+
DBG2_DECLARE_HEADER_EXTRA_DATA(2),
43+
/* Debug UART */
3844
DBG2_DECLARE_QCOM_SDM845_UARD(UARD, UARD_NAMESPACE_STRING,
3945
UARD_BASE_ADDRESS),
40-
.URS0 =
46+
/* Primary Core USB HS (Synopsys)*/
47+
.URS0HS =
4148
{
4249
.Revision = 1,
43-
.Length = sizeof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0)),
50+
.Length = sizeof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0HS)),
4451
.NumOfGenericAddrRegs = URS0_NUM_GAS,
4552
.NamespaceString = URS0_NAMESPACE_STRING,
4653
.NamespaceStringLen = sizeof(URS0_NAMESPACE_STRING),
4754
.NamespaceStringOffset =
48-
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0),
55+
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0HS),
4956
NamespaceString),
5057
.OemDataLen = USB_OEM_DATA_SIZE,
5158
.OemDataOffset = offsetof(
52-
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0), OemData),
59+
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0HS), OemData),
5360
.PortType = DBG2_DEBUG_PORT_TYPE_NETWORK,
5461
.PortSubtype = DBG2_DEBUG_PORT_SUBTYPE_USB_SYNOPSYS,
5562
.BaseAddrRegOffset =
56-
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0),
63+
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0HS),
5764
BaseAddrRegister),
5865
.AddrSizeOffset = offsetof(
59-
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0), AddressSize),
66+
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0HS), AddressSize),
6067
.BaseAddrRegister =
6168
{
6269
{
@@ -93,4 +100,62 @@ DBG2_START{
93100
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94101
0x43, 0x42, 0x53, 0x55},
95102
},
103+
/* Primary Core USB SS (Synopsys)*/
104+
.URS0SS =
105+
{
106+
.Revision = 1,
107+
.Length = sizeof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0SS)),
108+
.NumOfGenericAddrRegs = URS0_NUM_GAS,
109+
.NamespaceString = URS0_NAMESPACE_STRING,
110+
.NamespaceStringLen = sizeof(URS0_NAMESPACE_STRING),
111+
.NamespaceStringOffset =
112+
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0SS),
113+
NamespaceString),
114+
.OemDataLen = USB_OEM_DATA_SIZE,
115+
.OemDataOffset = offsetof(
116+
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0SS), OemData),
117+
.PortType = DBG2_DEBUG_PORT_TYPE_NETWORK,
118+
.PortSubtype = DBG2_DEBUG_PORT_SUBTYPE_USB_SYNOPSYS,
119+
.BaseAddrRegOffset =
120+
offsetof(DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0SS),
121+
BaseAddrRegister),
122+
.AddrSizeOffset = offsetof(
123+
DBG2_GET_DEBUG_DEVICE_INFO_STRUCTURE_NAME(URS0SS), AddressSize),
124+
.BaseAddrRegister =
125+
{
126+
{
127+
.AddressSpaceID = 00,
128+
.RegisterBitWidth = 0x20,
129+
.RegisterBitOffset = 0,
130+
.AccessSize = 0x20,
131+
.Address = 0xA600000,
132+
},
133+
{
134+
.AddressSpaceID = 00,
135+
.RegisterBitWidth = 0x20,
136+
.RegisterBitOffset = 0,
137+
.AccessSize = 0x20,
138+
.Address = 0xA600000,
139+
},
140+
},
141+
.AddressSize = {0xFFFFF, 0x1000},
142+
.OemData = {0x05, 0x00, 0x00, 0x00, 0x32, 0x58, 0x49, 0x46, 0x03,
143+
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0xc7,
144+
0x00, 0x00, 0xff, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x00,
145+
0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x88, 0x0f, 0x00,
146+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,
147+
0x02, 0x00, 0x00, 0xb4, 0x88, 0x0f, 0x00, 0x00, 0x00,
148+
0x00, 0x00, 0xeb, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00,
149+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158+
0x43, 0x42, 0x53, 0x55},
159+
},
160+
96161
} DBG2_END

0 commit comments

Comments
 (0)