@@ -849,8 +849,10 @@ void pin_shutdown(void)
849849 /* Configure all GPIO as Input (safe state) */
850850 gpio_init ();
851851
852- // detect platform
852+ /* Detect Platform */
853853 board_id_t board_id = detected_platform ();
854+ const platform_gpio_t * gpio = platform_gpio ();
855+ const platform_scu_t * scu = platform_scu ();
854856
855857 /* TDI and TMS pull-ups are required in all JTAG-compliant devices.
856858 *
@@ -867,53 +869,54 @@ void pin_shutdown(void)
867869 * LPC43xx pull-up and pull-down resistors are approximately 53K.
868870 */
869871#if (defined HACKRF_ONE || defined PRALINE )
870- scu_pinmux (SCU_PINMUX_PP_TMS , SCU_GPIO_PUP | SCU_CONF_FUNCTION0 );
871- scu_pinmux (SCU_PINMUX_PP_TDO , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
872+ scu_pinmux (scu -> PINMUX_PP_TMS , SCU_GPIO_PUP | SCU_CONF_FUNCTION0 );
873+ scu_pinmux (scu -> PINMUX_PP_TDO , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
872874#endif
873- scu_pinmux (SCU_PINMUX_CPLD_TCK , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
875+ scu_pinmux (scu -> PINMUX_CPLD_TCK , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
874876#ifndef PRALINE
875- scu_pinmux (SCU_PINMUX_CPLD_TMS , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
876- scu_pinmux (SCU_PINMUX_CPLD_TDI , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
877- scu_pinmux (SCU_PINMUX_CPLD_TDO , SCU_GPIO_PDN | SCU_CONF_FUNCTION4 );
877+ scu_pinmux (scu -> PINMUX_CPLD_TMS , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
878+ scu_pinmux (scu -> PINMUX_CPLD_TDI , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
879+ scu_pinmux (scu -> PINMUX_CPLD_TDO , SCU_GPIO_PDN | SCU_CONF_FUNCTION4 );
878880#endif
879881
880882 /* Configure SCU Pin Mux as GPIO */
881- scu_pinmux (SCU_PINMUX_LED1 , SCU_GPIO_NOPULL );
882- scu_pinmux (SCU_PINMUX_LED2 , SCU_GPIO_NOPULL );
883- scu_pinmux (SCU_PINMUX_LED3 , SCU_GPIO_NOPULL );
884- #ifdef RAD1O
885- scu_pinmux (SCU_PINMUX_LED4 , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION4 );
886- #endif
887- #ifdef PRALINE
888- scu_pinmux (SCU_PINMUX_LED4 , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
889- #endif
883+ scu_pinmux (scu -> PINMUX_LED1 , SCU_GPIO_NOPULL );
884+ scu_pinmux (scu -> PINMUX_LED2 , SCU_GPIO_NOPULL );
885+ scu_pinmux (scu -> PINMUX_LED3 , SCU_GPIO_NOPULL );
886+ switch (board_id ) {
887+ case BOARD_ID_RAD1O :
888+ scu_pinmux (scu -> PINMUX_LED4 , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION4 );
889+ break ;
890+ case BOARD_ID_PRALINE :
891+ scu_pinmux (scu -> PINMUX_LED4 , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
892+ break ;
893+ default :
894+ break ;
895+ }
890896
891897 /* Configure USB indicators */
892898#ifdef JAWBREAKER
893- scu_pinmux (SCU_PINMUX_USB_LED0 , SCU_CONF_FUNCTION3 );
894- scu_pinmux (SCU_PINMUX_USB_LED1 , SCU_CONF_FUNCTION3 );
899+ scu_pinmux (scu -> PINMUX_USB_LED0 , SCU_CONF_FUNCTION3 );
900+ scu_pinmux (scu -> PINMUX_USB_LED1 , SCU_CONF_FUNCTION3 );
895901#endif
896902
897- /* Get platform GPIO */
898- const platform_gpio_t * gpio = platform_gpio ();
899-
900903 switch (board_id ) {
901904 case BOARD_ID_PRALINE :
902905 disable_1v2_power ();
903906 disable_3v3aux_power ();
904907 gpio_output (gpio -> gpio_1v2_enable );
905908 gpio_output (gpio -> gpio_3v3aux_enable_n );
906- scu_pinmux (SCU_PINMUX_EN1V2 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
907- scu_pinmux (SCU_PINMUX_EN3V3_AUX_N , SCU_GPIO_FAST | SCU_CONF_FUNCTION4 );
909+ scu_pinmux (scu -> PINMUX_EN1V2 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
910+ scu_pinmux (scu -> PINMUX_EN3V3_AUX_N , SCU_GPIO_FAST | SCU_CONF_FUNCTION4 );
908911 break ;
909912 default :
910913 disable_1v8_power ();
911914 if (detected_platform () == BOARD_ID_HACKRF1_R9 ) {
912915 gpio_output (gpio -> h1r9_1v8_enable );
913- scu_pinmux (SCU_H1R9_EN1V8 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
916+ scu_pinmux (scu -> H1R9_EN1V8 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
914917 } else {
915918 gpio_output (gpio -> gpio_1v8_enable );
916- scu_pinmux (SCU_PINMUX_EN1V8 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
919+ scu_pinmux (scu -> PINMUX_EN1V8 , SCU_GPIO_FAST | SCU_CONF_FUNCTION0 );
917920 }
918921 break ;
919922 }
@@ -943,28 +946,28 @@ void pin_shutdown(void)
943946 scu_pinmux (CLK0 , SCU_CLK_IN | SCU_CONF_FUNCTION7 );
944947 scu_pinmux (CLK2 , SCU_CLK_IN | SCU_CONF_FUNCTION7 );
945948
946- scu_pinmux (SCU_PINMUX_GPIO3_10 , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
947- scu_pinmux (SCU_PINMUX_GPIO3_11 , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
949+ scu_pinmux (scu -> PINMUX_GPIO3_10 , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
950+ scu_pinmux (scu -> PINMUX_GPIO3_11 , SCU_GPIO_PDN | SCU_CONF_FUNCTION0 );
948951 break ;
949952 default :
950953 break ;
951954 }
952955
953956 switch (board_id ) {
954957 case BOARD_ID_PRALINE :
955- scu_pinmux (SCU_P2_CTRL0 , SCU_P2_CTRL0_PINCFG );
956- scu_pinmux (SCU_P2_CTRL1 , SCU_P2_CTRL1_PINCFG );
957- scu_pinmux (SCU_P1_CTRL0 , SCU_P1_CTRL0_PINCFG );
958- scu_pinmux (SCU_P1_CTRL1 , SCU_P1_CTRL1_PINCFG );
959- scu_pinmux (SCU_P1_CTRL2 , SCU_P1_CTRL2_PINCFG );
960- scu_pinmux (SCU_CLKIN_CTRL , SCU_CLKIN_CTRL_PINCFG );
961- scu_pinmux (SCU_AA_EN , SCU_AA_EN_PINCFG );
962- scu_pinmux (SCU_TRIGGER_IN , SCU_TRIGGER_IN_PINCFG );
963- scu_pinmux (SCU_TRIGGER_OUT , SCU_TRIGGER_OUT_PINCFG );
964- scu_pinmux (SCU_PPS_OUT , SCU_PPS_OUT_PINCFG );
965- scu_pinmux (SCU_PINMUX_FPGA_CRESET , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
966- scu_pinmux (SCU_PINMUX_FPGA_CDONE , SCU_GPIO_PUP | SCU_CONF_FUNCTION4 );
967- scu_pinmux (SCU_PINMUX_FPGA_SPI_CS , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
958+ scu_pinmux (scu -> P2_CTRL0 , scu -> P2_CTRL0_PINCFG );
959+ scu_pinmux (scu -> P2_CTRL1 , scu -> P2_CTRL1_PINCFG );
960+ scu_pinmux (scu -> P1_CTRL0 , scu -> P1_CTRL0_PINCFG );
961+ scu_pinmux (scu -> P1_CTRL1 , scu -> P1_CTRL1_PINCFG );
962+ scu_pinmux (scu -> P1_CTRL2 , scu -> P1_CTRL2_PINCFG );
963+ scu_pinmux (scu -> CLKIN_CTRL , scu -> CLKIN_CTRL_PINCFG );
964+ scu_pinmux (scu -> AA_EN , scu -> AA_EN_PINCFG );
965+ scu_pinmux (scu -> TRIGGER_IN , scu -> TRIGGER_IN_PINCFG );
966+ scu_pinmux (scu -> TRIGGER_OUT , scu -> TRIGGER_OUT_PINCFG );
967+ scu_pinmux (scu -> PPS_OUT , scu -> PPS_OUT_PINCFG );
968+ scu_pinmux (scu -> PINMUX_FPGA_CRESET , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
969+ scu_pinmux (scu -> PINMUX_FPGA_CDONE , SCU_GPIO_PUP | SCU_CONF_FUNCTION4 );
970+ scu_pinmux (scu -> PINMUX_FPGA_SPI_CS , SCU_GPIO_NOPULL | SCU_CONF_FUNCTION0 );
968971
969972 p2_ctrl_set (P2_SIGNAL_CLK3 );
970973 p1_ctrl_set (P1_SIGNAL_CLKIN );
@@ -998,17 +1001,22 @@ void pin_shutdown(void)
9981001/* Run after pin_shutdown() and prior to enabling power supplies. */
9991002void pin_setup (void )
10001003{
1001- // detect platform
1004+ /* Detect Platform */
10021005 board_id_t board_id = detected_platform ();
10031006 board_rev_t rev = detected_revision ();
10041007 const platform_gpio_t * gpio = platform_gpio ();
1008+ const platform_scu_t * scu = platform_scu ();
10051009
10061010 led_off (0 );
10071011 led_off (1 );
10081012 led_off (2 );
1009- #ifdef RAD1O
1010- led_off (3 );
1011- #endif
1013+ switch (board_id ) {
1014+ case BOARD_ID_RAD1O :
1015+ case BOARD_ID_PRALINE :
1016+ led_off (3 );
1017+ default :
1018+ break ;
1019+ }
10121020
10131021 gpio_output (gpio -> led [0 ]);
10141022 gpio_output (gpio -> led [1 ]);
@@ -1026,11 +1034,9 @@ void pin_setup(void)
10261034
10271035 mixer_bus_setup (& mixer );
10281036
1029- #ifdef HACKRF_ONE
10301037 if (detected_platform () == BOARD_ID_HACKRF1_R9 ) {
10311038 sgpio_config .gpio_trigger_enable = gpio -> h1r9_trigger_enable ;
10321039 }
1033- #endif
10341040
10351041 // initialize rf_path struct and assign gpio's
10361042 switch (board_id ) {
@@ -1095,7 +1101,7 @@ void pin_setup(void)
10951101 rf_path_pin_setup (& rf_path );
10961102
10971103 /* Configure external clock in */
1098- scu_pinmux (SCU_PINMUX_GP_CLKIN , SCU_CLK_IN | SCU_CONF_FUNCTION1 );
1104+ scu_pinmux (scu -> PINMUX_GP_CLKIN , SCU_CLK_IN | SCU_CONF_FUNCTION1 );
10991105
11001106 sgpio_configure_pin_functions (& sgpio_config );
11011107}
@@ -1325,7 +1331,7 @@ void halt_and_flash(const uint32_t duration)
13251331 }
13261332}
13271333
1328- #ifdef PRALINE
1334+ // #ifdef PRALINE
13291335void p1_ctrl_set (const p1_ctrl_signal_t signal )
13301336{
13311337 gpio_write (platform_gpio ()-> p1_ctrl0 , signal & 1 );
@@ -1353,4 +1359,5 @@ void narrowband_filter_set(const uint8_t value)
13531359{
13541360 gpio_write (platform_gpio ()-> aa_en , value & 1 );
13551361}
1356- #endif
1362+
1363+ //#endif
0 commit comments