diff options
author | Vladimir Serbinenko <phcoder@gmail.com> | 2014-08-13 01:22:13 +0200 |
---|---|---|
committer | Vladimir Serbinenko <phcoder@gmail.com> | 2014-08-13 09:35:23 +0200 |
commit | 883e7acc65e1edba8b2453decf23c88eafeae8b0 (patch) | |
tree | 2a7e8cbac67d15575c222b8a0298251d60fd1c2c /src | |
parent | 020dc0e13cca062b8e1983cb5e77a9482dcf6e53 (diff) |
lenovo/h8: Support uwb radio.
It's the third minipcie slot in x200.
Change-Id: Ibfa8d787698cd23b4abcffe5cff2d62039cf0f86
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-on: http://review.coreboot.org/6641
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/lenovo/h8/chip.h | 1 | ||||
-rw-r--r-- | src/ec/lenovo/h8/h8.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/chip.h b/src/ec/lenovo/h8/chip.h index bac54ecac6..98a7972d1d 100644 --- a/src/ec/lenovo/h8/chip.h +++ b/src/ec/lenovo/h8/chip.h @@ -49,6 +49,7 @@ struct ec_lenovo_h8_config { u8 has_keyboard_backlight; u8 has_power_management_beeps; + u8 has_uwb; }; #endif /* EC_LENOVO_H8EC_CHIP_H */ diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index f5b1b77ec8..e70c0e8ed0 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -63,6 +63,15 @@ static void h8_wwan_enable(int on) ec_clr_bit(0x3a, 6); } +/* Controls radio-off pin in UWB MiniPCIe slot. */ +static void h8_uwb_enable(int on) +{ + if (on) + ec_set_bit(0x31, 2); + else + ec_clr_bit(0x31, 2); +} + static void h8_fn_ctrl_swap(int on) { if (on) @@ -239,6 +248,13 @@ static void h8_enable(device_t dev) h8_wwan_enable(val); + if (conf->has_uwb) { + if (get_option(&val, "uwb") != CB_SUCCESS) + val = 1; + + h8_uwb_enable(val); + } + if (get_option(&val, "fn_ctrl_swap") != CB_SUCCESS) val = 0; h8_fn_ctrl_swap(val); |