Skip to content
Snippets Groups Projects
Commit 38eea1d2 authored by q3k's avatar q3k
Browse files

flow3r_bsp: add back badgelink data pin defs, fix pin inversions

parent 5def4c24
Branches
Tags
No related merge requests found
...@@ -194,3 +194,15 @@ void flow3r_bsp_spio_badgelink_left_enable(bool tip_on, bool ring_on); ...@@ -194,3 +194,15 @@ void flow3r_bsp_spio_badgelink_left_enable(bool tip_on, bool ring_on);
// flow3r_bsp_spio_update must be called for this setting to actually propagate // flow3r_bsp_spio_update must be called for this setting to actually propagate
// to hardware. // to hardware.
void flow3r_bsp_spio_badgelink_right_enable(bool tip_on, bool ring_on); void flow3r_bsp_spio_badgelink_right_enable(bool tip_on, bool ring_on);
// Pin mapping information of programmable badge I/O. These are GPIO numbers
// that can be used with the ESP-IDF API.
typedef struct {
// Left jack, headphone/line out.
uint8_t badgelink_left_tip;
uint8_t badgelink_left_ring;
// Right jack, line in.
uint8_t badgelink_right_tip;
uint8_t badgelink_right_ring;
} flow3r_bsp_spio_programmable_pins_t;
extern const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins;
\ No newline at end of file
...@@ -35,7 +35,9 @@ typedef struct { ...@@ -35,7 +35,9 @@ typedef struct {
typedef struct { typedef struct {
flow3r_bsp_iopin_t tip_badgelink_enable; flow3r_bsp_iopin_t tip_badgelink_enable;
flow3r_bsp_iopin_t tip_badgelink_data;
flow3r_bsp_iopin_t ring_badgelink_enable; flow3r_bsp_iopin_t ring_badgelink_enable;
flow3r_bsp_iopin_t ring_badgelink_data;
} flow3r_bsp_iodef_trrs_t; } flow3r_bsp_iodef_trrs_t;
typedef struct { typedef struct {
...@@ -71,6 +73,12 @@ static const flow3r_bsp_iodef_t iodef = { ...@@ -71,6 +73,12 @@ static const flow3r_bsp_iodef_t iodef = {
.charger_state = IODUMMY, .charger_state = IODUMMY,
.jacksense_right = IODUMMY, .jacksense_right = IODUMMY,
}; };
const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins = {
.badgelink_left_tip = 6,
.badgelink_left_ring = 7,
.badgelink_right_tip = 4,
.badgelink_right_ring = 5,
};
#define PORTEXP_NONE #define PORTEXP_NONE
#elif defined(CONFIG_FLOW3R_HW_GEN_P4) || defined(CONFIG_FLOW3R_HW_GEN_P3) #elif defined(CONFIG_FLOW3R_HW_GEN_P4) || defined(CONFIG_FLOW3R_HW_GEN_P3)
static const flow3r_bsp_iodef_t iodef = { static const flow3r_bsp_iodef_t iodef = {
...@@ -85,16 +93,22 @@ static const flow3r_bsp_iodef_t iodef = { ...@@ -85,16 +93,22 @@ static const flow3r_bsp_iodef_t iodef = {
.right = IPEX(7, 1, .invert = true), .right = IPEX(7, 1, .invert = true),
}, },
.trrs_left = { .trrs_left = {
.tip_badgelink_enable = OPEX(6, 0), .tip_badgelink_enable = OPEX(6, 0, .invert = true),
.ring_badgelink_enable = OPEX(7, 0), .ring_badgelink_enable = OPEX(7, 0, .invert = true),
}, },
.trrs_right = { .trrs_right = {
.tip_badgelink_enable = OPEX(5, 0), .tip_badgelink_enable = OPEX(5, 0, .invert = true),
.ring_badgelink_enable = OPEX(4, 0), .ring_badgelink_enable = OPEX(4, 0, .invert = true),
}, },
.charger_state = IODUMMY, .charger_state = IODUMMY,
.jacksense_right = IODUMMY, .jacksense_right = IODUMMY,
}; };
const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins = {
.badgelink_left_tip = 6,
.badgelink_left_ring = 7,
.badgelink_right_tip = 4,
.badgelink_right_ring = 5,
};
#define PORTEXP_MAX7321S #define PORTEXP_MAX7321S
#elif defined(CONFIG_FLOW3R_HW_GEN_P6) #elif defined(CONFIG_FLOW3R_HW_GEN_P6)
static const flow3r_bsp_iodef_t iodef = { static const flow3r_bsp_iodef_t iodef = {
...@@ -119,6 +133,12 @@ static const flow3r_bsp_iodef_t iodef = { ...@@ -119,6 +133,12 @@ static const flow3r_bsp_iodef_t iodef = {
.charger_state = IPEX(2, 1), .charger_state = IPEX(2, 1),
.jacksense_right = IPEX(6, 1), .jacksense_right = IPEX(6, 1),
}; };
const flow3r_bsp_spio_programmable_pins_t flow3r_bsp_spio_programmable_pins = {
.badgelink_left_tip = 7,
.badgelink_left_ring = 6,
.badgelink_right_tip = 4,
.badgelink_right_ring = 5,
};
#define PORTEXP_MAX7321S #define PORTEXP_MAX7321S
#else #else
#error "spio unimplemented for this badge generation" #error "spio unimplemented for this badge generation"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment