On Thu, Oct 10, 2024 at 7:56 AM Jan Kiszka <[email protected]> wrote: > > From: Baocheng Su <[email protected]> > > The power control pin of pcie interface not only works for M.2 interface > but also for miniPCIE, so promote this logic to all variants to > workaround the module hang issue. > > Signed-off-by: Baocheng Su <[email protected]> > Signed-off-by: Jan Kiszka <[email protected]> > --- > board/siemens/iot2050/board.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/board/siemens/iot2050/board.c b/board/siemens/iot2050/board.c > index e5c7ce58b06..85cb999f17f 100644 > --- a/board/siemens/iot2050/board.c > +++ b/board/siemens/iot2050/board.c > @@ -185,6 +185,12 @@ static void remove_mmc1_target(void) > free(boot_targets); > } > > +static void enable_pcie_connector_power(void) > +{ > + set_pinvalue("gpio@601000_17", "P3V3_PCIE_CON_EN", 1); > + udelay(4 * 100); > +} > + > void set_board_info_env(void) > { > struct iot2050_info *info = IOT2050_INFO_DATA; > @@ -288,10 +294,6 @@ static void m2_connector_setup(void) > struct m2_config_pins config_pins; > unsigned int n; > > - /* enable M.2 connector power */ > - set_pinvalue("gpio@601000_17", "P3V3_M2_EN", 1); > - udelay(4 * 100); > - > if (m2_manual_config < CONNECTOR_MODE_INVALID) { > mode_info = " [manual mode]"; > connector_mode = m2_manual_config; > @@ -429,6 +431,8 @@ int board_late_init(void) > /* change CTRL_MMR register to let serdes0 not output USB3.0 signals. > */ > writel(0x3, SERDES0_LANE_SELECT); > > + enable_pcie_connector_power(); > + > if (board_is_m2()) > m2_connector_setup(); > > -- > 2.43.0 > Reviewed-by: Michael Trimarchi <[email protected]>
-- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 [email protected] __________________________________ Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 [email protected] www.amarulasolutions.com

