diff options
author | Joel Challis <git@zvecr.com> | 2021-09-12 15:41:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-12 15:41:33 +0100 |
commit | 0fa217a5b7cdd035105387fd31c506fda4cfb945 (patch) | |
tree | 1ba0df8f6cb8462fcc3517f7a090ad7c72123038 | |
parent | bb841087bbd47b0be6dffafa8a4f7a361867f71d (diff) | |
download | qmk_firmware-0fa217a5b7cdd035105387fd31c506fda4cfb945.tar.gz qmk_firmware-0fa217a5b7cdd035105387fd31c506fda4cfb945.zip |
Align ChibiOS I2C defs with other drivers (#14399)
* Align ChibiOS I2C defs with other drivers
* Update keyboards/xelus/valor_frl_tkl/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
26 files changed, 64 insertions, 95 deletions
diff --git a/docs/i2c_driver.md b/docs/i2c_driver.md index 3ec34a0f8..9017b44ed 100644 --- a/docs/i2c_driver.md +++ b/docs/i2c_driver.md | |||
@@ -62,16 +62,13 @@ Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, fo | |||
62 | 62 | ||
63 | Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. | 63 | Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303. |
64 | 64 | ||
65 | |`config.h` Overrride |Description |Default| | 65 | |`config.h` Overrride |Description |Default| |
66 | |------------------------|-------------------------------------------------------------------------------------------|-------| | 66 | |------------------------|--------------------------------------------------------------|-------| |
67 | |`I2C_DRIVER` |I2C peripheral to use - I2C1 -> `I2CD1`, I2C2 -> `I2CD2` etc. |`I2CD1`| | 67 | |`I2C_DRIVER` |I2C peripheral to use - I2C1 -> `I2CD1`, I2C2 -> `I2CD2` etc. |`I2CD1`| |
68 | |`I2C1_BANK` (deprecated)|The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`), superseded by `I2C1_SCL_BANK`/`I2C1_SDA_BANK`|`GPIOB`| | 68 | |`I2C1_SCL_PIN` |The pin definition for SCL |`B6` | |
69 | |`I2C1_SCL_BANK` |The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`) to use for SCL |`GPIOB`| | 69 | |`I2C1_SCL_PAL_MODE` |The alternate function mode for SCL |`4` | |
70 | |`I2C1_SCL` |The pin number for SCL (0-15) |`6` | | 70 | |`I2C1_SDA_PIN` |The pin definition for SDA |`B7` | |
71 | |`I2C1_SCL_PAL_MODE` |The alternate function mode for SCL |`4` | | 71 | |`I2C1_SDA_PAL_MODE` |The alternate function mode for SDA |`4` | |
72 | |`I2C1_SDA_BANK` |The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`) to use for SDA |`GPIOB`| | ||
73 | |`I2C1_SDA` |The pin number for SDA (0-15) |`7` | | ||
74 | |`I2C1_SDA_PAL_MODE` |The alternate function mode for SDA |`4` | | ||
75 | 72 | ||
76 | The following configuration values depend on the specific MCU in use. | 73 | The following configuration values depend on the specific MCU in use. |
77 | 74 | ||
diff --git a/docs/ja/i2c_driver.md b/docs/ja/i2c_driver.md index 9d348d580..1d8f70e16 100644 --- a/docs/ja/i2c_driver.md +++ b/docs/ja/i2c_driver.md | |||
@@ -79,13 +79,10 @@ ARM MCU 用の設定はしばしば非常に複雑です。これは、多くの | |||
79 | 79 | ||
80 | STM32 MCU では、使用するハードウェアドライバにより、さまざまなピンを I2C ピンとして設定できます。標準では `B6`, `B7` ピンが I2C 用のピンです。 I2C 用のピンを設定するために次の定義が使えます: | 80 | STM32 MCU では、使用するハードウェアドライバにより、さまざまなピンを I2C ピンとして設定できます。標準では `B6`, `B7` ピンが I2C 用のピンです。 I2C 用のピンを設定するために次の定義が使えます: |
81 | 81 | ||
82 | | 変数 | 説明 | 既定値 | | 82 | | 変数 | 説明 | 既定値 | |
83 | |-----------------------|--------------------------------------------------------------------------------------------------|---------| | 83 | |-----------------------|-------------------------------------------------------------------------------------------|---------| |
84 | | `I2C1_SCL_BANK` | SCL に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` | | 84 | | `I2C1_SCL_PIN` | SCL のピン番号 | `B6` | |
85 | | `I2C1_SDA_BANK` | SDA に使うピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` | | 85 | | `I2C1_SDA_PIN` | SDA のピン番号 | `B7` | |
86 | | `I2C1_SCL` | SCL のピン番号 (0-15) | `6` | | ||
87 | | `I2C1_SDA` | SDA のピン番号 (0-15) | `7` | | ||
88 | | `I2C1_BANK`(非推奨) | 使用するピンのバンク (`GPIOA`, `GPIOB`, `GPIOC`)。後継は `I2C1_SCL_BANK`, `I2C1_SDA_BANK` です。 | `GPIOB` | | ||
89 | 86 | ||
90 | ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します。 | 87 | ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します。 |
91 | 88 | ||
diff --git a/keyboards/aeboards/constellation/rev2/config.h b/keyboards/aeboards/constellation/rev2/config.h index 0780c9bf9..de42885b4 100755 --- a/keyboards/aeboards/constellation/rev2/config.h +++ b/keyboards/aeboards/constellation/rev2/config.h | |||
@@ -47,8 +47,8 @@ | |||
47 | #define LOCKING_RESYNC_ENABLE | 47 | #define LOCKING_RESYNC_ENABLE |
48 | 48 | ||
49 | // I2C setup | 49 | // I2C setup |
50 | #define I2C1_SCL 8 | 50 | #define I2C1_SCL_PIN B8 |
51 | #define I2C1_SDA 9 | 51 | #define I2C1_SDA_PIN B9 |
52 | #define I2C1_SCL_PAL_MODE 4 | 52 | #define I2C1_SCL_PAL_MODE 4 |
53 | #define I2C1_SDA_PAL_MODE 4 | 53 | #define I2C1_SDA_PAL_MODE 4 |
54 | #define I2C1_TIMINGR_PRESC 0U | 54 | #define I2C1_TIMINGR_PRESC 0U |
diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h index 778fc3ea6..498e345ad 100644 --- a/keyboards/aeboards/ext65/rev2/config.h +++ b/keyboards/aeboards/ext65/rev2/config.h | |||
@@ -56,8 +56,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
56 | #define WS2812_EXTERNAL_PULLUP | 56 | #define WS2812_EXTERNAL_PULLUP |
57 | 57 | ||
58 | // I2C OLED defines | 58 | // I2C OLED defines |
59 | #define I2C1_SCL 8 | 59 | #define I2C1_SCL_PIN B8 |
60 | #define I2C1_SDA 9 | 60 | #define I2C1_SDA_PIN B9 |
61 | 61 | ||
62 | #define I2C1_SCL_PAL_MODE 1 | 62 | #define I2C1_SCL_PAL_MODE 1 |
63 | #define I2C1_SDA_PAL_MODE 1 | 63 | #define I2C1_SDA_PAL_MODE 1 |
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h index e100cc99b..43a872041 100644 --- a/keyboards/cannonkeys/satisfaction75/config.h +++ b/keyboards/cannonkeys/satisfaction75/config.h | |||
@@ -53,9 +53,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
53 | 53 | ||
54 | // I2C config | 54 | // I2C config |
55 | #define I2C_DRIVER I2CD1 | 55 | #define I2C_DRIVER I2CD1 |
56 | #define I2C1_SCL_BANK GPIOB | 56 | #define I2C1_SCL_PIN B6 |
57 | #define I2C1_SCL 6 | 57 | #define I2C1_SDA_PIN B7 |
58 | #define I2C1_SDA 7 | ||
59 | #define I2C1_SCL_PAL_MODE 1 | 58 | #define I2C1_SCL_PAL_MODE 1 |
60 | #define I2C1_SDA_PAL_MODE 1 | 59 | #define I2C1_SDA_PAL_MODE 1 |
61 | #define I2C1_TIMINGR_PRESC 0x00U | 60 | #define I2C1_TIMINGR_PRESC 0x00U |
diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index 7e53e0a01..a6205b27b 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h | |||
@@ -77,8 +77,8 @@ | |||
77 | // 0b1110101 AD <-> SCL | 77 | // 0b1110101 AD <-> SCL |
78 | // 0b1110110 AD <-> SDA | 78 | // 0b1110110 AD <-> SDA |
79 | #define LED_DRIVER_ADDR_1 0b1110100 | 79 | #define LED_DRIVER_ADDR_1 0b1110100 |
80 | #define I2C1_SCL 8 | 80 | #define I2C1_SCL_PIN B8 |
81 | #define I2C1_SDA 9 | 81 | #define I2C1_SDA_PIN B9 |
82 | 82 | ||
83 | #define LED_DRIVER_COUNT 1 | 83 | #define LED_DRIVER_COUNT 1 |
84 | #define DRIVER_LED_TOTAL 71 | 84 | #define DRIVER_LED_TOTAL 71 |
diff --git a/keyboards/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h index 2f1b2ef32..59c682666 100644 --- a/keyboards/dekunukem/duckypad/config.h +++ b/keyboards/dekunukem/duckypad/config.h | |||
@@ -46,8 +46,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
46 | 46 | ||
47 | #endif | 47 | #endif |
48 | 48 | ||
49 | #define I2C1_SCL 8 | 49 | #define I2C1_SCL_PIN B8 |
50 | #define I2C1_SDA 9 | 50 | #define I2C1_SDA_PIN B9 |
51 | 51 | ||
52 | #define I2C1_SCL_PAL_MODE 1 | 52 | #define I2C1_SCL_PAL_MODE 1 |
53 | #define I2C1_SDA_PAL_MODE 1 | 53 | #define I2C1_SDA_PAL_MODE 1 |
diff --git a/keyboards/ergodox_infinity/config.h b/keyboards/ergodox_infinity/config.h index fb6f30d45..357ddf6c5 100644 --- a/keyboards/ergodox_infinity/config.h +++ b/keyboards/ergodox_infinity/config.h | |||
@@ -83,9 +83,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
83 | #define I2C1_CLOCK_SPEED 400000 | 83 | #define I2C1_CLOCK_SPEED 400000 |
84 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 84 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
85 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 85 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
86 | #define I2C1_BANK GPIOB | 86 | #define I2C1_SCL_PIN B0 |
87 | #define I2C1_SCL 0 | 87 | #define I2C1_SDA_PIN B1 |
88 | #define I2C1_SDA 1 | ||
89 | 88 | ||
90 | #ifdef ST7565_ENABLE | 89 | #ifdef ST7565_ENABLE |
91 | /* LCD driver */ | 90 | /* LCD driver */ |
diff --git a/keyboards/ez_maker/directpins/teensy_32/config.h b/keyboards/ez_maker/directpins/teensy_32/config.h index 861ae70e4..c487a84ab 100644 --- a/keyboards/ez_maker/directpins/teensy_32/config.h +++ b/keyboards/ez_maker/directpins/teensy_32/config.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #pragma once | 17 | #pragma once |
18 | 18 | ||
19 | // i2c_master defines | 19 | // i2c_master defines |
20 | #define I2C1_SCL 0 // A2 on pinout = B0 | 20 | #define I2C1_SCL_PIN B0 // A2 on pinout = B0 |
21 | #define I2C1_SDA 1 // A3 on pinout = B1 | 21 | #define I2C1_SDA_PIN B1 // A3 on pinout = B1 |
22 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 22 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
23 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 23 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
diff --git a/keyboards/ez_maker/directpins/teensy_lc/config.h b/keyboards/ez_maker/directpins/teensy_lc/config.h index 861ae70e4..c487a84ab 100644 --- a/keyboards/ez_maker/directpins/teensy_lc/config.h +++ b/keyboards/ez_maker/directpins/teensy_lc/config.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #pragma once | 17 | #pragma once |
18 | 18 | ||
19 | // i2c_master defines | 19 | // i2c_master defines |
20 | #define I2C1_SCL 0 // A2 on pinout = B0 | 20 | #define I2C1_SCL_PIN B0 // A2 on pinout = B0 |
21 | #define I2C1_SDA 1 // A3 on pinout = B1 | 21 | #define I2C1_SDA_PIN B1 // A3 on pinout = B1 |
22 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 22 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
23 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 23 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
diff --git a/keyboards/ferris/0_2/config.h b/keyboards/ferris/0_2/config.h index 89eac7ed1..f51e5dd8f 100644 --- a/keyboards/ferris/0_2/config.h +++ b/keyboards/ferris/0_2/config.h | |||
@@ -67,10 +67,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
67 | /* i2c settings */ | 67 | /* i2c settings */ |
68 | 68 | ||
69 | #define I2C_DRIVER I2CD2 | 69 | #define I2C_DRIVER I2CD2 |
70 | #define I2C1_SCL_BANK GPIOB | 70 | #define I2C1_SCL_PIN B10 |
71 | #define I2C1_SCL 10 | 71 | #define I2C1_SDA_PIN B11 |
72 | #define I2C1_SDA_BANK GPIOB | ||
73 | #define I2C1_SDA 11 | ||
74 | #define I2C1_TIMINGR_PRESC 2U | 72 | #define I2C1_TIMINGR_PRESC 2U |
75 | #define I2C1_TIMINGR_SCLDEL 1U | 73 | #define I2C1_TIMINGR_SCLDEL 1U |
76 | #define I2C1_TIMINGR_SDADEL 0U | 74 | #define I2C1_TIMINGR_SDADEL 0U |
diff --git a/keyboards/ferris/0_2/matrix.c b/keyboards/ferris/0_2/matrix.c index afa8a344c..ff0e66d65 100644 --- a/keyboards/ferris/0_2/matrix.c +++ b/keyboards/ferris/0_2/matrix.c | |||
@@ -59,11 +59,6 @@ extern i2c_status_t mcp23017_status; | |||
59 | bool i2c_initialized = 0; | 59 | bool i2c_initialized = 0; |
60 | i2c_status_t mcp23017_status = I2C_ADDR; | 60 | i2c_status_t mcp23017_status = I2C_ADDR; |
61 | 61 | ||
62 | #define I2C2_SCL_BANK GPIOB | ||
63 | #define I2C2_SCL 10 | ||
64 | #define I2C2_SDA_BANK GPIOB | ||
65 | #define I2C2_SDA 11 | ||
66 | |||
67 | uint8_t init_mcp23017(void) { | 62 | uint8_t init_mcp23017(void) { |
68 | print("init mcp23017\n"); | 63 | print("init mcp23017\n"); |
69 | mcp23017_status = I2C_ADDR; | 64 | mcp23017_status = I2C_ADDR; |
diff --git a/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c b/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c index 956932329..1287614a8 100644 --- a/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c +++ b/keyboards/handwired/onekey/blackpill_f401/blackpill_f401.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
18 | 18 | ||
19 | void board_init(void) { | 19 | void board_init(void) { |
20 | // B9 is configured as I2C1_SDA in the board file; that function must be | 20 | // B9 is configured as I2C1_SDA_PIN in the board file; that function must be |
21 | // disabled before using B7 as I2C1_SDA. | 21 | // disabled before using B7 as I2C1_SDA. |
22 | setPinInputHigh(B9); | 22 | setPinInputHigh(B9); |
23 | } | 23 | } |
diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h index 180f32487..e388b01af 100644 --- a/keyboards/handwired/onekey/teensy_32/config.h +++ b/keyboards/handwired/onekey/teensy_32/config.h | |||
@@ -26,7 +26,7 @@ | |||
26 | #define UNUSED_PINS | 26 | #define UNUSED_PINS |
27 | 27 | ||
28 | // i2c_master defines | 28 | // i2c_master defines |
29 | #define I2C1_SCL 0 // A2 on pinout = B0 | 29 | #define I2C1_SCL_PIN B0 // A2 on pinout = B0 |
30 | #define I2C1_SDA 1 // A3 on pinout = B1 | 30 | #define I2C1_SDA_PIN B1 // A3 on pinout = B1 |
31 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 31 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
32 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 32 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h index ad30f969f..4e594e7d7 100644 --- a/keyboards/handwired/onekey/teensy_lc/config.h +++ b/keyboards/handwired/onekey/teensy_lc/config.h | |||
@@ -26,7 +26,7 @@ | |||
26 | #define UNUSED_PINS | 26 | #define UNUSED_PINS |
27 | 27 | ||
28 | // i2c_master defines | 28 | // i2c_master defines |
29 | #define I2C1_SCL 0 // A2 on pinout = B0 | 29 | #define I2C1_SCL_PIN B0 // A2 on pinout = B0 |
30 | #define I2C1_SDA 1 // A3 on pinout = B1 | 30 | #define I2C1_SDA_PIN B1 // A3 on pinout = B1 |
31 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 31 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
32 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 32 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 0e5b72c56..983b7b11b 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h | |||
@@ -71,10 +71,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
71 | 71 | ||
72 | /* i2c config for oleds */ | 72 | /* i2c config for oleds */ |
73 | #define I2C_DRIVER I2CD1 | 73 | #define I2C_DRIVER I2CD1 |
74 | #define I2C1_SCL_BANK GPIOB | 74 | #define I2C1_SCL_PIN B8 |
75 | #define I2C1_SDA_BANK GPIOB | 75 | #define I2C1_SDA_PIN B9 |
76 | #define I2C1_SCL 8 | ||
77 | #define I2C1_SDA 9 | ||
78 | #define I2C1_SCL_PAL_MODE 4 | 76 | #define I2C1_SCL_PAL_MODE 4 |
79 | #define I2C1_SDA_PAL_MODE 4 | 77 | #define I2C1_SDA_PAL_MODE 4 |
80 | #define I2C1_CLOCK_SPEED 400000 | 78 | #define I2C1_CLOCK_SPEED 400000 |
diff --git a/keyboards/matrix/m20add/config.h b/keyboards/matrix/m20add/config.h index 3df5d78d5..5d615dbad 100644 --- a/keyboards/matrix/m20add/config.h +++ b/keyboards/matrix/m20add/config.h | |||
@@ -82,8 +82,8 @@ | |||
82 | #define DEBOUNCE 5 | 82 | #define DEBOUNCE 5 |
83 | 83 | ||
84 | // i2c setting | 84 | // i2c setting |
85 | #define I2C1_SCL 8 | 85 | #define I2C1_SCL_PIN B8 |
86 | #define I2C1_SDA 9 | 86 | #define I2C1_SDA_PIN B9 |
87 | #define I2C1_CLOCK_SPEED 400000 | 87 | #define I2C1_CLOCK_SPEED 400000 |
88 | #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 | 88 | #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 |
89 | 89 | ||
diff --git a/keyboards/matrix/m20add/m20add.c b/keyboards/matrix/m20add/m20add.c index b38dad27c..21f4f9b1b 100644 --- a/keyboards/matrix/m20add/m20add.c +++ b/keyboards/matrix/m20add/m20add.c | |||
@@ -64,12 +64,12 @@ void i2c_init(void) | |||
64 | } | 64 | } |
65 | 65 | ||
66 | // Try releasing special pins for a short time | 66 | // Try releasing special pins for a short time |
67 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_INPUT); | 67 | palSetLineMode(I2C1_SCL_PIN, PAL_MODE_INPUT); |
68 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_INPUT); | 68 | palSetLineMode(I2C1_SDA_PIN, PAL_MODE_INPUT); |
69 | 69 | ||
70 | chThdSleepMilliseconds(10); | 70 | chThdSleepMilliseconds(10); |
71 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 71 | palSetLineMode(I2C1_SCL_PIN, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
72 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 72 | palSetLineMode(I2C1_SDA_PIN, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
73 | } | 73 | } |
74 | 74 | ||
75 | #define REBOOT_MAGIC 0x41544B42 | 75 | #define REBOOT_MAGIC 0x41544B42 |
diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h index f41cad94c..e5fa4959c 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h | |||
@@ -26,8 +26,8 @@ | |||
26 | #define DEBOUNCE 5 | 26 | #define DEBOUNCE 5 |
27 | 27 | ||
28 | // i2c setting | 28 | // i2c setting |
29 | #define I2C1_SCL 8 | 29 | #define I2C1_SCL_PIN B8 |
30 | #define I2C1_SDA 9 | 30 | #define I2C1_SDA_PIN B9 |
31 | #define I2C1_CLOCK_SPEED 400000 | 31 | #define I2C1_CLOCK_SPEED 400000 |
32 | #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 | 32 | #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 |
33 | #define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN) | 33 | #define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN) |
diff --git a/keyboards/whitefox/config.h b/keyboards/whitefox/config.h index 1cdac01d0..d2b6639a3 100644 --- a/keyboards/whitefox/config.h +++ b/keyboards/whitefox/config.h | |||
@@ -72,9 +72,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
72 | #define I2C1_CLOCK_SPEED 400000 | 72 | #define I2C1_CLOCK_SPEED 400000 |
73 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 73 | #define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
74 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 | 74 | #define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 |
75 | #define I2C1_BANK GPIOB | 75 | #define I2C1_SCL_PIN B0 |
76 | #define I2C1_SCL 0 | 76 | #define I2C1_SDA_PIN B1 |
77 | #define I2C1_SDA 1 | ||
78 | 77 | ||
79 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | 78 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. |
80 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | 79 | * This is useful for the Windows task manager shortcut (ctrl+shift+esc). |
diff --git a/keyboards/xelus/kangaroo/config.h b/keyboards/xelus/kangaroo/config.h index f6b17c24a..1d746b342 100644 --- a/keyboards/xelus/kangaroo/config.h +++ b/keyboards/xelus/kangaroo/config.h | |||
@@ -43,8 +43,8 @@ | |||
43 | #define LOCKING_RESYNC_ENABLE | 43 | #define LOCKING_RESYNC_ENABLE |
44 | 44 | ||
45 | // I2C OLED defines | 45 | // I2C OLED defines |
46 | #define I2C1_SCL 8 | 46 | #define I2C1_SCL_PIN B8 |
47 | #define I2C1_SDA 9 | 47 | #define I2C1_SDA_PIN B9 |
48 | 48 | ||
49 | #define I2C1_SCL_PAL_MODE 1 | 49 | #define I2C1_SCL_PAL_MODE 1 |
50 | #define I2C1_SDA_PAL_MODE 1 | 50 | #define I2C1_SDA_PAL_MODE 1 |
diff --git a/keyboards/xelus/pachi/rgb/config.h b/keyboards/xelus/pachi/rgb/config.h index 9378b2c41..3bc7071ec 100644 --- a/keyboards/xelus/pachi/rgb/config.h +++ b/keyboards/xelus/pachi/rgb/config.h | |||
@@ -45,8 +45,8 @@ | |||
45 | #define LOCKING_RESYNC_ENABLE | 45 | #define LOCKING_RESYNC_ENABLE |
46 | 46 | ||
47 | // I2C setup | 47 | // I2C setup |
48 | #define I2C1_SCL 8 | 48 | #define I2C1_SCL_PIN B8 |
49 | #define I2C1_SDA 9 | 49 | #define I2C1_SDA_PIN B9 |
50 | #define I2C1_SCL_PAL_MODE 4 | 50 | #define I2C1_SCL_PAL_MODE 4 |
51 | #define I2C1_SDA_PAL_MODE 4 | 51 | #define I2C1_SDA_PAL_MODE 4 |
52 | #define I2C1_TIMINGR_PRESC 0U | 52 | #define I2C1_TIMINGR_PRESC 0U |
diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h index 2ab581c75..502cc482e 100644 --- a/keyboards/xelus/valor/rev2/config.h +++ b/keyboards/xelus/valor/rev2/config.h | |||
@@ -47,8 +47,8 @@ | |||
47 | #define LOCKING_RESYNC_ENABLE | 47 | #define LOCKING_RESYNC_ENABLE |
48 | 48 | ||
49 | // I2C setup | 49 | // I2C setup |
50 | #define I2C1_SCL 8 | 50 | #define I2C1_SCL_PIN B8 |
51 | #define I2C1_SDA 9 | 51 | #define I2C1_SDA_PIN B9 |
52 | #define I2C1_SCL_PAL_MODE 4 | 52 | #define I2C1_SCL_PAL_MODE 4 |
53 | #define I2C1_SDA_PAL_MODE 4 | 53 | #define I2C1_SDA_PAL_MODE 4 |
54 | #define I2C1_TIMINGR_PRESC 0U | 54 | #define I2C1_TIMINGR_PRESC 0U |
diff --git a/keyboards/xelus/valor_frl_tkl/config.h b/keyboards/xelus/valor_frl_tkl/config.h index 5319a95ba..c1c08878c 100644 --- a/keyboards/xelus/valor_frl_tkl/config.h +++ b/keyboards/xelus/valor_frl_tkl/config.h | |||
@@ -47,8 +47,8 @@ | |||
47 | #define LOCKING_RESYNC_ENABLE | 47 | #define LOCKING_RESYNC_ENABLE |
48 | 48 | ||
49 | // I2C OLED defines | 49 | // I2C OLED defines |
50 | #define I2C1_SCL 8 | 50 | #define I2C1_SCL_PIN B8 |
51 | #define I2C1_SDA 9 | 51 | #define I2C1_SDA_PIN B9 |
52 | 52 | ||
53 | #define I2C1_SCL_PAL_MODE 1 | 53 | #define I2C1_SCL_PAL_MODE 1 |
54 | #define I2C1_SDA_PAL_MODE 1 | 54 | #define I2C1_SDA_PAL_MODE 1 |
diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c index fc4bb2ab3..9af5c71c3 100644 --- a/platforms/chibios/drivers/i2c_master.c +++ b/platforms/chibios/drivers/i2c_master.c | |||
@@ -63,16 +63,16 @@ __attribute__((weak)) void i2c_init(void) { | |||
63 | is_initialised = true; | 63 | is_initialised = true; |
64 | 64 | ||
65 | // Try releasing special pins for a short time | 65 | // Try releasing special pins for a short time |
66 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_INPUT); | 66 | palSetLineMode(I2C1_SCL_PIN, PAL_MODE_INPUT); |
67 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_INPUT); | 67 | palSetLineMode(I2C1_SDA_PIN, PAL_MODE_INPUT); |
68 | 68 | ||
69 | chThdSleepMilliseconds(10); | 69 | chThdSleepMilliseconds(10); |
70 | #if defined(USE_GPIOV1) | 70 | #if defined(USE_GPIOV1) |
71 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, I2C1_SCL_PAL_MODE); | 71 | palSetLineMode(I2C1_SCL_PIN, I2C1_SCL_PAL_MODE); |
72 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, I2C1_SDA_PAL_MODE); | 72 | palSetLineMode(I2C1_SDA_PIN, I2C1_SDA_PAL_MODE); |
73 | #else | 73 | #else |
74 | palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 74 | palSetLineMode(I2C1_SCL_PIN, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
75 | palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); | 75 | palSetLineMode(I2C1_SDA_PIN, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); |
76 | #endif | 76 | #endif |
77 | } | 77 | } |
78 | } | 78 | } |
diff --git a/platforms/chibios/drivers/i2c_master.h b/platforms/chibios/drivers/i2c_master.h index c68109acb..303aa6990 100644 --- a/platforms/chibios/drivers/i2c_master.h +++ b/platforms/chibios/drivers/i2c_master.h | |||
@@ -27,24 +27,11 @@ | |||
27 | #include <ch.h> | 27 | #include <ch.h> |
28 | #include <hal.h> | 28 | #include <hal.h> |
29 | 29 | ||
30 | #ifdef I2C1_BANK | 30 | #ifndef I2C1_SCL_PIN |
31 | # define I2C1_SCL_BANK I2C1_BANK | 31 | # define I2C1_SCL_PIN B6 |
32 | # define I2C1_SDA_BANK I2C1_BANK | ||
33 | #endif | 32 | #endif |
34 | 33 | #ifndef I2C1_SDA_PIN | |
35 | #ifndef I2C1_SCL_BANK | 34 | # define I2C1_SDA_PIN B7 |
36 | # define I2C1_SCL_BANK GPIOB | ||
37 | #endif | ||
38 | |||
39 | #ifndef I2C1_SDA_BANK | ||
40 | # define I2C1_SDA_BANK GPIOB | ||
41 | #endif | ||
42 | |||
43 | #ifndef I2C1_SCL | ||
44 | # define I2C1_SCL 6 | ||
45 | #endif | ||
46 | #ifndef I2C1_SDA | ||
47 | # define I2C1_SDA 7 | ||
48 | #endif | 35 | #endif |
49 | 36 | ||
50 | #ifdef USE_I2CV1 | 37 | #ifdef USE_I2CV1 |