⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_configuration.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 5 页
字号:
  SetField32(CONFIGURATION_COMP_MODE_CTRL_0, CONF_MUX_EN_R, 0xEAEF);                                                      // set all IO to confreg mode value
}
// end CONFIG_IO_Appli_dmled(void)





void CONFIG_IO_Appli_testports(void)
{
  SetField32(CONFIGURATION_COMP_MODE_CTRL_0, CONF_MUX_EN_R, 0x0);                                                         // set all IO in Mode 0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_DATA_MISO_OFFSET,MODE7);                     // test_port_55
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_TE_OFFSET,MODE3);                           // test_port_23
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART3_RX_OFFSET,MODE1);                          // test_port_60
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_D_4_OFFSET,MODE2);                           // test_port_30
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_D_5_OFFSET,MODE2);                           // test_port_31
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_D_6_OFFSET,MODE2);                           // test_port_32
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_D_7_OFFSET,MODE2);                           // test_port_33
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DNC_OFFSET,MODE2);                          // test_port_21
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_ESTRB_OFFSET,MODE2);                        // test_port_18
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_DIGITALRF_ENABLE_OFFSET,MODE1);                  // digitalrf_tx_cs
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_NFBE_0_OFFSET,MODE2);                      // emifs_fadd_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_NFBE_1_OFFSET,MODE2);                      // emifs_fadd_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_CLK_OFFSET,MODE7);                           // test_port_54
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_NRESET_OFFSET,MODE4);                       // test_port_19
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ULPDR_ARM_BOOT_EXT_OFFSET,MODE6);                // test_port_53
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_LCLK_OFFSET,MODE2);                          // test_port_37
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_VS_OFFSET,MODE2);                            // test_port_35
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART3_TX_OFFSET,MODE4);                          // test_port_61
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_TSP_ACT0_OFFSET,MODE4);                          // test_port_49
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_TSP_ACT2_OFFSET,MODE1);                          // test_port_50
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_24_OFFSET,MODE2);                     // test_port_64
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_25_OFFSET,MODE5);                     // test_port_65
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_10_OFFSET,MODE6);                           // test_port_43
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_12_OFFSET,MODE2);                           // test_port_44
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_10_OFFSET,MODE6);                      // test_port_10
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_11_OFFSET,MODE6);                      // test_port_11
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_13_OFFSET,MODE4);                           // test_port_45
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_12_OFFSET,MODE6);                      // test_port_12
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_13_OFFSET,MODE6);                      // test_port_13
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_14_OFFSET,MODE5);                      // test_port_14
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_16_OFFSET,MODE4);                           // test_port_46
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_15_OFFSET,MODE5);                      // test_port_15
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_16_OFFSET,MODE7);                      // test_port_16
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_18_OFFSET,MODE6);                           // test_port_47
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_19_OFFSET,MODE3);                           // test_port_66
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_17_OFFSET,MODE7);                      // test_port_17
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_DATA_MOSI_OFFSET,MODE7);                     // test_port_56
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_0_OFFSET,MODE3);                       // test_port_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_1_OFFSET,MODE3);                       // test_port_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_2_OFFSET,MODE3);                       // test_port_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_3_OFFSET,MODE2);                       // test_port_3
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_4_OFFSET,MODE2);                       // test_port_4
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_5_OFFSET,MODE2);                       // test_port_5
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_6_OFFSET,MODE2);                       // test_port_6
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_7_OFFSET,MODE2);                       // test_port_7
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_8_OFFSET,MODE6);                       // test_port_8
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_9_OFFSET,MODE6);                       // test_port_9
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_NCS0_OFFSET,MODE2);                         // test_port_20
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_HS_OFFSET,MODE2);                            // test_port_34
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_NCS0_OFFSET,MODE6);                          // test_port_57
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART3_RTS_OFFSET,MODE1);                         // test_port_62
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_DIGITALRF_DATA_OFFSET,MODE1);                    // digitalrf_tx_data
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_32_OFFSET,MODE3);                           // test_port_58
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART2_RX_OFFSET,MODE4);                          // test_port_51
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_1_OFFSET,MODE6);                            // test_port_38
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_4_OFFSET,MODE6);                            // test_port_39
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_6_OFFSET,MODE6);                            // test_port_40
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_8_OFFSET,MODE6);                            // test_port_41
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_9_OFFSET,MODE6);                            // test_port_42
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_RNW_OFFSET,MODE2);                          // test_port_22
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_0_OFFSET,MODE2);                           // test_port_24
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_1_OFFSET,MODE2);                           // test_port_25
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_2_OFFSET,MODE2);                           // test_port_26
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_3_OFFSET,MODE2);                           // test_port_27
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_4_OFFSET,MODE2);                           // test_port_28
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_5_OFFSET,MODE2);                           // test_port_29
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART3_CTS_OFFSET,MODE1);                         // test_port_63
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_46_OFFSET,MODE3);                           // test_port_48
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_47_OFFSET,MODE6);                           // test_port_59
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_CAM_XCLK_OFFSET,MODE2);                          // test_port_36
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART2_TX_OFFSET,MODE4);                          // test_port_52
  SetField32(CONFIGURATION_COMP_MODE_CTRL_0, CONF_MUX_EN_R, 0xEAEF);                                                      // set all IO to confreg mode value
}
// end CONFIG_IO_Appli_testports(void)





void CONFIG_IO_Appli7(void)
{
  SetField32(CONFIGURATION_COMP_MODE_CTRL_0, CONF_MUX_EN_R, 0x0);                                                         // set all IO in Mode 0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_DATA_MISO_OFFSET,MODE5);                     // trace_pkt_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_DIGITALRF_ENABLE_OFFSET,MODE1);                  // digitalrf_tx_cs
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_CLK_OFFSET,MODE5);                           // trace_clk
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ULPDR_ARM_BOOT_EXT_OFFSET,MODE4);                // ctool_data_9
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_TSP_ACT0_OFFSET,MODE5);                          // trace_pkt_7
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_22_OFFSET,MODE1);                     // gpio_20
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_23_OFFSET,MODE2);                     // gpio_21
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_24_OFFSET,MODE1);                     // gpio_22
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FRDY_OFFSET,MODE3);                        // gpio_25
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_EMIFS_FADD_25_OFFSET,MODE1);                     // emifs_nfcs_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_10_OFFSET,MODE5);                           // trace_pipestat_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_13_OFFSET,MODE5);                           // trace_pkt_5
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_12_OFFSET,MODE5);                      // trace_pipestatb_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_13_OFFSET,MODE5);                      // trace_pipestatb_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_14_OFFSET,MODE3);                      // trace_pipestatb_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_16_OFFSET,MODE5);                           // trace_pkt_6
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_15_OFFSET,MODE3);                      // trace_syncb
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_16_OFFSET,MODE5);                      // ctool_data_7
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_18_OFFSET,MODE5);                           // trace_pkt_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_19_OFFSET,MODE1);                           // emifs_nfcs_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_ELCD_DATA_17_OFFSET,MODE5);                      // ctool_data_8
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_DATA_MOSI_OFFSET,MODE5);                     // trace_sync
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_SPI_NCS0_OFFSET,MODE5);                          // trace_pkt_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_DIGITALRF_DATA_OFFSET,MODE1);                    // digitalrf_tx_data
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_32_OFFSET,MODE4);                           // uart1_irda_select
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART2_RX_OFFSET,MODE5);                          // trace_pkt_3
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_1_OFFSET,MODE4);                            // ctool_data_4
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_2_OFFSET,MODE3);                            // tsp_act1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_4_OFFSET,MODE5);                            // ctool_data_5
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_6_OFFSET,MODE5);                            // ctool_data_6
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_8_OFFSET,MODE5);                            // trace_pipestat_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_9_OFFSET,MODE5);                            // trace_pipestat_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_0_OFFSET,MODE1);                           // ctool_trace_clk_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_1_OFFSET,MODE1);                           // ctool_trace_clk_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_2_OFFSET,MODE1);                           // ctool_data_0
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_3_OFFSET,MODE1);                           // ctool_data_1
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_4_OFFSET,MODE1);                           // ctool_data_2
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_KBD_R_5_OFFSET,MODE1);                           // ctool_data_3
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_46_OFFSET,MODE2);                           // uart1_irda_rx
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_GPIO_47_OFFSET,MODE4);                           // uart1_irda_sd
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_TEST_NEMU1_OFFSET,MODE3);                        // uart1_irda_tx
  CONFIG_SetModePin(IO_CONFIGURATION_BASE_ADDR_ARM+IO_CONFIGURATION_CONF_UART2_TX_OFFSET,MODE5);                          // trace_pkt_4
  SetField32(CONFIGURATION_COMP_MODE_CTRL_0, CONF_MUX_EN_R, 0xEAEF);                                                      // set all IO to confreg mode value
}
// end CONFIG_IO_Appli7(void)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -