Set up demo_hps_live through new pinmux - Adjust pinmux configs in the demo to align with moving some DIO pins into MIO. Change-Id: I8223613c978ebcd5de1ee525a18c55cc2e8582a6
diff --git a/sw/device/examples/demo_hps_live/hps_demo_sc.c b/sw/device/examples/demo_hps_live/hps_demo_sc.c index b6b25b5..0d146e2 100644 --- a/sw/device/examples/demo_hps_live/hps_demo_sc.c +++ b/sw/device/examples/demo_hps_live/hps_demo_sc.c
@@ -87,9 +87,9 @@ CHECK_DIF_OK(dif_pinmux_init( mmio_region_from_addr(TOP_MATCHA_PINMUX_AON_BASE_ADDR), &pinmux)); - CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob7, + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIod0, kTopMatchaPinmuxOutselGpioGpio16)); - CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob8, + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIod1, kTopMatchaPinmuxOutselGpioGpio17)); CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIoc0, kTopMatchaPinmuxOutselGpioGpio22)); @@ -97,6 +97,50 @@ kTopMatchaPinmuxPeripheralInGpioGpio22, kTopMatchaPinmuxInselConstantZero)); + // Mux I2C + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, + kTopMatchaPinmuxPeripheralInCamI2cSda, + kTopMatchaPinmuxInselIoa5)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, + kTopMatchaPinmuxMioOutIoa5, kTopMatchaPinmuxOutselCamI2cSda)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIoa4, kTopMatchaPinmuxOutselCamI2cScl)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInCamI2cScl, kTopMatchaPinmuxInselIoa4)); + + // Mux ISP wrapper + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData0, kTopMatchaPinmuxInselIob0)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData1, kTopMatchaPinmuxInselIob1)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData2, kTopMatchaPinmuxInselIob2)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData3, kTopMatchaPinmuxInselIob3)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData4, kTopMatchaPinmuxInselIob4)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData5, kTopMatchaPinmuxInselIob5)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData6, kTopMatchaPinmuxInselIob6)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSData7, kTopMatchaPinmuxInselIob7)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSVsync, kTopMatchaPinmuxInselIoa2)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSHsync, kTopMatchaPinmuxInselIoa3)); + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInIspWrapperSPclk, kTopMatchaPinmuxInselIob8)); + + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIoa2, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIoa3, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob0, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob1, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob2, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob3, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob4, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob5, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob6, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob7, kTopMatchaPinmuxOutselConstantHighZ)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob8, kTopMatchaPinmuxOutselConstantHighZ)); + + // Mux cam CTRL / TRIG + CHECK_DIF_OK(dif_pinmux_input_select(&pinmux, kTopMatchaPinmuxPeripheralInCamCtrlCamInt, kTopMatchaPinmuxInselIoa6)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIoa7, kTopMatchaPinmuxOutselCamCtrlCamTrig)); + + // Mux SPI_HOST2 (clk, mosi, cs) + // CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIor9, kTopMatchaPinmuxOutselSpiHost2Sck)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIod2, kTopMatchaPinmuxOutselSpiHost2Sck)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIob10, kTopMatchaPinmuxOutselSpiHost2Sd0)); + CHECK_DIF_OK(dif_pinmux_output_select(&pinmux, kTopMatchaPinmuxMioOutIor13, kTopMatchaPinmuxOutselSpiHost2Csb)); + CHECK_DIF_OK( dif_gpio_init(mmio_region_from_addr(TOP_MATCHA_GPIO_BASE_ADDR), &gpio)); CHECK_DIF_OK(dif_gpio_output_set_enabled(&gpio, 16, kDifToggleEnabled));