Skip to content

Commit 42d6e6e

Browse files
committed
[hw,pinmux,dv] Gate special pad configs that are specific to Earlgrey
Signed-off-by: Robert Schilling <[email protected]>
1 parent 80590e0 commit 42d6e6e

File tree

14 files changed

+129
-411
lines changed

14 files changed

+129
-411
lines changed

hw/ip_templates/pinmux/fpv/tb/pinmux_chip_tb.sv.tpl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,20 @@ module pinmux_chip_tb
7878
7979
// Copied from chip_${topname}_asic.sv
8080
// TODO: find a better way to automatically generate this FPV testbench via topgen/ipgen.
81+
% if enable_strap_sampling:
8182
localparam int Tap0PadIdx = 30;
8283
localparam int Tap1PadIdx = 27;
8384
localparam int Dft0PadIdx = 25;
8485
localparam int Dft1PadIdx = 26;
86+
% endif
8587
localparam int TckPadIdx = 38;
8688
localparam int TmsPadIdx = 35;
8789
localparam int TrstNPadIdx = 39;
8890
localparam int TdiPadIdx = 37;
8991
localparam int TdoPadIdx = 36;
9092
// DFT and Debug signal positions in the pinout.
9193
localparam pinmux_pkg::target_cfg_t PinmuxTargetCfg = '{
94+
% if enable_strap_sampling:
9295
tck_idx: TckPadIdx,
9396
tms_idx: TmsPadIdx,
9497
trst_idx: TrstNPadIdx,
@@ -98,10 +101,13 @@ module pinmux_chip_tb
98101
tap_strap1_idx: Tap1PadIdx,
99102
dft_strap0_idx: Dft0PadIdx,
100103
dft_strap1_idx: Dft1PadIdx,
104+
% endif
105+
% if enable_usb_wakeup:
101106
// TODO: check whether there is a better way to pass these USB-specific params
102107
usb_dp_idx: DioUsbdevUsbDp,
103108
usb_dn_idx: DioUsbdevUsbDn,
104109
usb_sense_idx: MioInUsbdevSense,
110+
% endif
105111
// Pad types for attribute WARL behavior
106112
dio_pad_type: {
107113
BidirStd, // DIO spi_host0_csb

hw/ip_templates/pinmux/fpv/tb/pinmux_tb.sv.tpl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ module pinmux_tb
1010
import pinmux_reg_pkg::*;
1111
import prim_pad_wrapper_pkg::*;
1212
#(
13+
% if enable_strap_sampling:
1314
parameter int Tap0PadIdx = 0,
1415
parameter int Tap1PadIdx = 1,
1516
parameter int Dft0PadIdx = 2,
@@ -19,8 +20,11 @@ module pinmux_tb
1920
parameter int TrstNPadIdx = 6,
2021
parameter int TdiPadIdx = 7,
2122
parameter int TdoPadIdx = 8,
23+
% endif
24+
% if enable_usb_wakeup:
2225
parameter int DioUsbdevDp = 9,
2326
parameter int DioUsbdevDn = 10,
27+
% endif
2428
parameter int MioInUsbdevSense = 11,
2529
parameter logic [NumAlerts-1:0] AlertAsyncOn = {NumAlerts{1'b1}},
2630
parameter bit SecVolatileRawUnlockEn = 1
@@ -87,6 +91,7 @@ module pinmux_tb
8791
);
8892
8993
localparam pinmux_pkg::target_cfg_t PinmuxTargetCfg = '{
94+
% if enable_strap_sampling:
9095
tck_idx: TckPadIdx,
9196
tms_idx: TmsPadIdx,
9297
trst_idx: TrstNPadIdx,
@@ -96,9 +101,12 @@ module pinmux_tb
96101
tap_strap1_idx: Tap1PadIdx,
97102
dft_strap0_idx: Dft0PadIdx,
98103
dft_strap1_idx: Dft1PadIdx,
104+
% endif
105+
% if enable_usb_wakeup:
99106
usb_dp_idx: DioUsbdevDp,
100107
usb_dn_idx: DioUsbdevDn,
101108
usb_sense_idx: MioInUsbdevSense,
109+
% endif
102110
// Pad types for attribute WARL behavior
103111
dio_pad_type: {NDioPads{BidirStd}},
104112
mio_pad_type: {NMioPads{BidirStd}},

hw/ip_templates/pinmux/rtl/pinmux_pkg.sv renamed to hw/ip_templates/pinmux/rtl/pinmux_pkg.sv.tpl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package pinmux_pkg;
1616
// datastructure below serves this purpose. Note that all the indices below are with respect to
1717
// the concatenated {DIO, MIO} packed array.
1818
typedef struct packed {
19+
% if enable_strap_sampling:
1920
integer tck_idx;
2021
integer tms_idx;
2122
integer trst_idx;
@@ -25,16 +26,20 @@ package pinmux_pkg;
2526
integer tap_strap1_idx;
2627
integer dft_strap0_idx;
2728
integer dft_strap1_idx;
29+
% endif
30+
% if enable_usb_wakeup:
2831
integer usb_dp_idx;
2932
integer usb_dn_idx;
3033
integer usb_sense_idx;
34+
% endif
3135
pad_type_e [NDioPads-1:0] dio_pad_type;
3236
pad_type_e [NMioPads-1:0] mio_pad_type;
3337
scan_role_e [NDioPads-1:0] dio_scan_role;
3438
scan_role_e [NMioPads-1:0] mio_scan_role;
3539
} target_cfg_t;
3640

3741
parameter target_cfg_t DefaultTargetCfg = '{
42+
% if enable_strap_sampling:
3843
tck_idx: 0,
3944
tms_idx: 0,
4045
trst_idx: 0,
@@ -44,9 +49,12 @@ package pinmux_pkg;
4449
tap_strap1_idx: 0,
4550
dft_strap0_idx: 0,
4651
dft_strap1_idx: 0,
52+
% endif
53+
% if enable_usb_wakeup:
4754
usb_dp_idx: 0,
4855
usb_dn_idx: 0,
4956
usb_sense_idx: 0,
57+
% endif
5058
dio_pad_type: {NDioPads{BidirStd}},
5159
mio_pad_type: {NMioPads{BidirStd}},
5260
dio_scan_role: {NDioPads{NoScan}},

hw/top_darjeeling/data/autogen/top_darjeeling.gen.hjson

Lines changed: 2 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -17375,63 +17375,7 @@
1737517375
}
1737617376
pinmux:
1737717377
{
17378-
special_signals:
17379-
[
17380-
{
17381-
name: tap0
17382-
pad: MIO0
17383-
desc: TAP strap signal.
17384-
idx: 0
17385-
}
17386-
{
17387-
name: tap1
17388-
pad: MIO1
17389-
desc: TAP strap signal.
17390-
idx: 1
17391-
}
17392-
{
17393-
name: dft0
17394-
pad: MIO2
17395-
desc: DFT strap signal.
17396-
idx: 2
17397-
}
17398-
{
17399-
name: dft1
17400-
pad: MIO3
17401-
desc: DFT strap signal.
17402-
idx: 3
17403-
}
17404-
{
17405-
name: tck
17406-
pad: MIO4
17407-
desc: JTAG tck signal.
17408-
idx: 4
17409-
}
17410-
{
17411-
name: tms
17412-
pad: MIO5
17413-
desc: JTAG tms signal.
17414-
idx: 5
17415-
}
17416-
{
17417-
name: trst_n
17418-
pad: MIO6
17419-
desc: JTAG trst_n signal.
17420-
idx: 6
17421-
}
17422-
{
17423-
name: tdi
17424-
pad: MIO7
17425-
desc: JTAG tdi signal.
17426-
idx: 7
17427-
}
17428-
{
17429-
name: tdo
17430-
pad: MIO8
17431-
desc: JTAG tdo signal.
17432-
idx: 8
17433-
}
17434-
]
17378+
special_signals: []
1743517379
}
1743617380
}
1743717381
{
@@ -17481,63 +17425,7 @@
1748117425
}
1748217426
pinmux:
1748317427
{
17484-
special_signals:
17485-
[
17486-
{
17487-
name: tap0
17488-
pad: MIO0
17489-
desc: TAP strap signal.
17490-
idx: 0
17491-
}
17492-
{
17493-
name: tap1
17494-
pad: MIO1
17495-
desc: TAP strap signal.
17496-
idx: 1
17497-
}
17498-
{
17499-
name: dft0
17500-
pad: MIO2
17501-
desc: DFT strap signal.
17502-
idx: 2
17503-
}
17504-
{
17505-
name: dft1
17506-
pad: MIO3
17507-
desc: DFT strap signal.
17508-
idx: 3
17509-
}
17510-
{
17511-
name: tck
17512-
pad: MIO4
17513-
desc: JTAG tck signal.
17514-
idx: 4
17515-
}
17516-
{
17517-
name: tms
17518-
pad: MIO5
17519-
desc: JTAG tms signal.
17520-
idx: 5
17521-
}
17522-
{
17523-
name: trst_n
17524-
pad: MIO6
17525-
desc: JTAG trst_n signal.
17526-
idx: 6
17527-
}
17528-
{
17529-
name: tdi
17530-
pad: MIO7
17531-
desc: JTAG tdi signal.
17532-
idx: 7
17533-
}
17534-
{
17535-
name: tdo
17536-
pad: MIO8
17537-
desc: JTAG tdo signal.
17538-
idx: 8
17539-
}
17540-
]
17428+
special_signals: []
1754117429
}
1754217430
}
1754317431
]

hw/top_darjeeling/data/top_darjeeling.hjson

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1836,19 +1836,7 @@
18361836
// parameter will be assigned the corresponding pad index.
18371837
//
18381838
// Each entry may have an optional 'desc' key for further description.
1839-
special_signals: [
1840-
// Straps
1841-
{ name: 'tap0', pad: 'MIO0', desc: 'TAP strap signal.' },
1842-
{ name: 'tap1', pad: 'MIO1', desc: 'TAP strap signal.' },
1843-
{ name: 'dft0', pad: 'MIO2', desc: 'DFT strap signal.' },
1844-
{ name: 'dft1', pad: 'MIO3', desc: 'DFT strap signal.' },
1845-
// JTAG
1846-
{ name: 'tck', pad: 'MIO4', desc: 'JTAG tck signal.' },
1847-
{ name: 'tms', pad: 'MIO5', desc: 'JTAG tms signal.' },
1848-
{ name: 'trst_n', pad: 'MIO6', desc: 'JTAG trst_n signal.' },
1849-
{ name: 'tdi', pad: 'MIO7', desc: 'JTAG tdi signal.' },
1850-
{ name: 'tdo', pad: 'MIO8', desc: 'JTAG tdo signal.' },
1851-
],
1839+
special_signals: [],
18521840
}
18531841
},
18541842
{ name: 'cw310',
@@ -1870,19 +1858,7 @@
18701858
},
18711859

18721860
pinmux: {
1873-
special_signals: [
1874-
// Straps
1875-
{ name: 'tap0', pad: 'MIO0', desc: 'TAP strap signal.' },
1876-
{ name: 'tap1', pad: 'MIO1', desc: 'TAP strap signal.' },
1877-
{ name: 'dft0', pad: 'MIO2', desc: 'DFT strap signal.' },
1878-
{ name: 'dft1', pad: 'MIO3', desc: 'DFT strap signal.' },
1879-
// JTAG
1880-
{ name: 'tck', pad: 'MIO4', desc: 'JTAG tck signal.' },
1881-
{ name: 'tms', pad: 'MIO5', desc: 'JTAG tms signal.' },
1882-
{ name: 'trst_n', pad: 'MIO6', desc: 'JTAG trst_n signal.' },
1883-
{ name: 'tdi', pad: 'MIO7', desc: 'JTAG tdi signal.' },
1884-
{ name: 'tdo', pad: 'MIO8', desc: 'JTAG tdo signal.' },
1885-
],
1861+
special_signals: [],
18861862
}
18871863
}
18881864
]

0 commit comments

Comments
 (0)