From 40f3b3fefa0b085253e62fb3a73a7a847e967cbe Mon Sep 17 00:00:00 2001 From: BarbUk Date: Mon, 17 Nov 2025 22:00:04 +0100 Subject: [PATCH 01/11] nrf52840_m2 update --- .../makerdiary/nrf52840_m2/Kconfig.defconfig | 10 ++++ .../nrf52840_m2/nrf52840_m2-pinctrl.dtsi | 56 +++++++++++++++++++ .../makerdiary/nrf52840_m2/nrf52840_m2.dts | 46 +++++++++++++-- .../nrf52840_m2/nrf52840_m2_defconfig | 4 +- 4 files changed, 110 insertions(+), 6 deletions(-) create mode 100644 app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi diff --git a/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig b/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig index a7851c3b1..85ae54685 100644 --- a/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig +++ b/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig @@ -13,4 +13,14 @@ endif # USB_DEVICE_STACK config BT_CTLR default BT +if ZMK_BACKLIGHT + +config PWM + default y + +config LED_PWM + default y + +endif # ZMK_BACKLIGHT + endif # BOARD_NRF52840_M2 diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi new file mode 100644 index 000000000..00342f1e6 --- /dev/null +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi @@ -0,0 +1,56 @@ +&pinctrl { + /* configuration for spi0 device, default state */ + spi0_default: spi0_default { + /* node name is arbitrary */ + group1 { + /* main role: configure P1.11 as SPI clock, P0.02 as SPI MOSI, P0.03 as SPI MISO */ + psels = , + , + ; + }; + }; + + /* configuration for spi0 device, sleep state */ + spi0_sleep: spi0_sleep { + group1 { + /* main role: configure P1.11 as SPI clock, P0.02 as SPI MOSI, P0.03 as SPI MISO */ + psels = , + , + ; + low-power-enable; + }; + }; + + /* configuration for pwm device, default state */ + pwm0_default: pwm0_default { + group1 { + psels = , // LED 0 (red) + , // LED 1 (green) + ; // LED 2 (blue) + }; + }; + pwm0_sleep: pwm0_sleep { + group1 { + psels = , // LED 0 + , // LED 1 + ; // LED 2 + low-power-enable; + }; + }; + + /* configuration for i2c0 device, default state */ + i2c0_default: i2c0_default { + group1 { + psels = , + ; + }; + }; + + i2c0_sleep: i2c0_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts index f9ffee623..43b8ed32f 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts @@ -7,6 +7,7 @@ /dts-v1/; #include #include +#include "nrf52840_m2-pinctrl.dtsi" / { model = "Makerdiary nRF52840 M.2 module"; @@ -17,18 +18,23 @@ zephyr,sram = &sram0; zephyr,flash = &flash0; zmk,battery = &vbatt; + zmk,backlight = &backlight; + zmk,led = &is31fl3733; }; leds { compatible = "gpio-leds"; - red_led: led_0 { + led1_red: led_1 { gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>; + label = "Red LED 1"; }; - green_led: led_1 { + led1_green: led_2 { gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; + label = "Green LED 1"; }; - blue_led: led_2 { + led1_blue: led_3 { gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>; + label = "Blue LED 1"; }; }; @@ -39,6 +45,18 @@ full-ohms = <(1000000 + 1000000)>; }; + backlight: pwmleds { + compatible = "pwm-leds"; + red_pwm_led: pwm_led_0 { + pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + green_pwm_led: pwm_led_1 { + pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + blue_pwm_led: pwm_led_2 { + pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + }; }; &adc { @@ -57,12 +75,32 @@ status = "okay"; }; +&pwm0 { + status = "okay"; + pinctrl-0 = <&pwm0_default>; + pinctrl-1 = <&pwm0_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&i2c0 { + compatible = "nordic,nrf-twim"; + status = "okay"; + pinctrl-0 = <&i2c0_default>; + pinctrl-1 = <&i2c0_sleep>; + pinctrl-names = "default", "sleep"; + clock-frequency = ; + is31fl3733: is31fl3733@50 { + compatible = "issi,is31fl3733"; + reg = <0x50>; + sdb-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + }; +}; + zephyr_udc0: &usbd { compatible = "nordic,nrf-usbd"; status = "okay"; }; - &flash0 { /* * For more information, see: diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig index d0b01539e..3c4a0cb0e 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig @@ -12,10 +12,10 @@ CONFIG_BUILD_OUTPUT_UF2=y CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_NVS=y -CONFIG_SETTINGS_NVS=y CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_FLASH_MAP=y CONFIG_ZMK_USB=y -CONFIG_ZMK_BLE=y \ No newline at end of file +CONFIG_ZMK_BLE=y +CONFIG_PINCTRL=y From 79e178d30746d56df6b4082df9905a3b636f6818 Mon Sep 17 00:00:00 2001 From: BarbUk Date: Tue, 18 Nov 2025 19:46:39 +0100 Subject: [PATCH 02/11] Removing spi0 from pinctrl, the m2 board had a QSPI --- .../nrf52840_m2/nrf52840_m2-pinctrl.dtsi | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi index 00342f1e6..f2348f341 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi @@ -1,26 +1,4 @@ &pinctrl { - /* configuration for spi0 device, default state */ - spi0_default: spi0_default { - /* node name is arbitrary */ - group1 { - /* main role: configure P1.11 as SPI clock, P0.02 as SPI MOSI, P0.03 as SPI MISO */ - psels = , - , - ; - }; - }; - - /* configuration for spi0 device, sleep state */ - spi0_sleep: spi0_sleep { - group1 { - /* main role: configure P1.11 as SPI clock, P0.02 as SPI MOSI, P0.03 as SPI MISO */ - psels = , - , - ; - low-power-enable; - }; - }; - /* configuration for pwm device, default state */ pwm0_default: pwm0_default { group1 { From 9c299fac01ee7177eed3b8ff25b2a0aeb320a81a Mon Sep 17 00:00:00 2001 From: BarbUk Date: Tue, 18 Nov 2025 20:29:20 +0100 Subject: [PATCH 03/11] Enable the led kconfig at the board level --- app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig | 10 ---------- app/boards/shields/m60/Kconfig.defconfig | 10 ++++++++++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig b/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig index 85ae54685..a7851c3b1 100644 --- a/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig +++ b/app/boards/makerdiary/nrf52840_m2/Kconfig.defconfig @@ -13,14 +13,4 @@ endif # USB_DEVICE_STACK config BT_CTLR default BT -if ZMK_BACKLIGHT - -config PWM - default y - -config LED_PWM - default y - -endif # ZMK_BACKLIGHT - endif # BOARD_NRF52840_M2 diff --git a/app/boards/shields/m60/Kconfig.defconfig b/app/boards/shields/m60/Kconfig.defconfig index a46969540..5292e3691 100644 --- a/app/boards/shields/m60/Kconfig.defconfig +++ b/app/boards/shields/m60/Kconfig.defconfig @@ -6,4 +6,14 @@ if SHIELD_M60 config ZMK_KEYBOARD_NAME default "m60" +if ZMK_BACKLIGHT + +config PWM + default y + +config LED_PWM + default y + +endif # ZMK_BACKLIGHT + endif From 66c99011c395d02e1188ba570a508adfe8790ca8 Mon Sep 17 00:00:00 2001 From: BarbUk Date: Tue, 18 Nov 2025 21:24:00 +0100 Subject: [PATCH 04/11] Remove backlight configuration from board, we configure it from the shield --- app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts | 3 +-- app/boards/shields/m60/m60.overlay | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts index 43b8ed32f..702f995a6 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts @@ -18,7 +18,6 @@ zephyr,sram = &sram0; zephyr,flash = &flash0; zmk,battery = &vbatt; - zmk,backlight = &backlight; zmk,led = &is31fl3733; }; @@ -45,7 +44,7 @@ full-ohms = <(1000000 + 1000000)>; }; - backlight: pwmleds { + pwmleds: pwmleds { compatible = "pwm-leds"; red_pwm_led: pwm_led_0 { pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; diff --git a/app/boards/shields/m60/m60.overlay b/app/boards/shields/m60/m60.overlay index 15690f524..1abbad625 100644 --- a/app/boards/shields/m60/m60.overlay +++ b/app/boards/shields/m60/m60.overlay @@ -12,6 +12,7 @@ chosen { zmk,kscan = &kscan0; zmk,physical-layout = &layout_60_ansi; + zmk,backlight = &pwmleds; }; kscan0: kscan { From 85fc5fd7a517b7e8950eb06f556278ec795b47e4 Mon Sep 17 00:00:00 2001 From: BarbUk Date: Tue, 18 Nov 2025 21:25:01 +0100 Subject: [PATCH 05/11] Add more readable layer documentation --- app/boards/shields/m60/m60.keymap | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/app/boards/shields/m60/m60.keymap b/app/boards/shields/m60/m60.keymap index 7fa07bbb7..0b8222807 100644 --- a/app/boards/shields/m60/m60.keymap +++ b/app/boards/shields/m60/m60.keymap @@ -14,13 +14,18 @@ default_layer { display-name = "Default Layer"; -// ------------------------------------------------------------------------------------------ -// | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSPC | -// | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | -// | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | -// | SHIFT | Z | X | C | V | B | N | M | , | . | / | SHIFT | -// | CTL | WIN | ALT | SPACE | ALT | MO(1) | WIN | CTRL | -// ------------------------------------------------------------------------------------------ + + // ╭─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────╮ + // | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ⌫ | + // |─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───────| + // | ─>| | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | + // |───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴───────| + // | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | ↵ | + // |────────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴────────────| + // | ⇧ | Z | X | C | V | B | N | M | , | . | / | ⇧ | + // |──────┬───┴──┬──┴──┬──┴─────┴─────┴─────┴─────┴─────┴───┬─┴─────┼─────┴┬──────┬────────| + // | Ctrl | Win | Alt | | Alt | MO(1)| WIN | Ctrl | + // ╰──────┴──────┴─────┴────────────────────────────────────┴───────┴──────┴──────┴────────╯ bindings = < &kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &kp RBKT &kp BSLH @@ -32,6 +37,18 @@ fn_layer { display-name = "Fn Layer"; + + // ╭─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────╮ + // | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | BOOT | + // |─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───────| + // | ─>| | BTc | | | | | | | | | | | | reset | + // |───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴───────| + // | CAPS | BT0 | BT1 | BT2 | BT3 | BT4 | ← | ↓ | ↑ | → | | | ↵ | + // |────────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴────────────| + // | ⇧ | | | | | | | | | | | ⇧ | + // |──────┬───┴──┬──┴──┬──┴─────┴─────┴─────┴─────┴─────┴───┬─┴─────┼─────┴┬──────┬────────| + // | Ctrl | Win | alt | | alt | MO(1)| WIN | Ctrl | + // ╰──────┴──────┴─────┴────────────────────────────────────┴───────┴──────┴──────┴────────╯ bindings = < &kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader &trans &bt BT_CLR &none &none &none &none &none &none &none &none &none &none &none &sys_reset From 16fd745ec365df42856d56686ad966f34e4963fc Mon Sep 17 00:00:00 2001 From: BarbUk Date: Tue, 18 Nov 2025 21:33:06 +0100 Subject: [PATCH 06/11] Add backlight control to default keymap --- app/boards/shields/m60/m60.keymap | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/boards/shields/m60/m60.keymap b/app/boards/shields/m60/m60.keymap index 0b8222807..6471e5973 100644 --- a/app/boards/shields/m60/m60.keymap +++ b/app/boards/shields/m60/m60.keymap @@ -7,6 +7,7 @@ #include #include #include +#include / { keymap0: keymap { @@ -41,7 +42,7 @@ // ╭─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────╮ // | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | BOOT | // |─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───────| - // | ─>| | BTc | | | | | | | | | | | | reset | + // | ─>| | BTc | BLt | BLc | | | | | | | | | | reset | // |───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴───────| // | CAPS | BT0 | BT1 | BT2 | BT3 | BT4 | ← | ↓ | ↑ | → | | | ↵ | // |────────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴────────────| @@ -51,7 +52,7 @@ // ╰──────┴──────┴─────┴────────────────────────────────────┴───────┴──────┴──────┴────────╯ bindings = < &kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &bootloader -&trans &bt BT_CLR &none &none &none &none &none &none &none &none &none &none &none &sys_reset +&trans &bt BT_CLR &bl BL_TOG &bl BL_CYCLE &none &none &none &none &none &none &none &none &none &sys_reset &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp LEFT &kp DOWN &kp UP &kp RIGHT &none &none &trans &trans &none &none &none &none &none &none &none &none &none &none &trans &trans &trans &trans &trans &trans &trans &trans &trans From 64fb0fba25af21e49d852330c1b3110277ca3b3e Mon Sep 17 00:00:00 2001 From: BarbUk Date: Wed, 19 Nov 2025 04:47:22 +0100 Subject: [PATCH 07/11] Removing zmk,led from board, it will be added in the shield in another PR --- app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts index 702f995a6..0e064c20f 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts @@ -18,7 +18,6 @@ zephyr,sram = &sram0; zephyr,flash = &flash0; zmk,battery = &vbatt; - zmk,led = &is31fl3733; }; leds { From 36fdbe6304f8bef1c8d59c7809f446b74000dedd Mon Sep 17 00:00:00 2001 From: BarbUk Date: Sat, 10 Jan 2026 10:23:59 +0400 Subject: [PATCH 08/11] Readd CONFIG_SETTINGS_NVS=y --- app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig index 3c4a0cb0e..95e6d3132 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2_defconfig @@ -12,6 +12,7 @@ CONFIG_BUILD_OUTPUT_UF2=y CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_NVS=y +CONFIG_SETTINGS_NVS=y CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_FLASH_MAP=y From 297889fabc0a1cdc730cb1c49343a66b2a34c135 Mon Sep 17 00:00:00 2001 From: BarbUk Date: Sat, 10 Jan 2026 10:41:45 +0400 Subject: [PATCH 09/11] Move I2C to shield --- .../nrf52840_m2/nrf52840_m2-pinctrl.dtsi | 16 ---------- .../makerdiary/nrf52840_m2/nrf52840_m2.dts | 14 --------- .../shields/m60/boards/nrf52840_m2.overlay | 31 +++++++++++++++++++ 3 files changed, 31 insertions(+), 30 deletions(-) create mode 100644 app/boards/shields/m60/boards/nrf52840_m2.overlay diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi index f2348f341..0a12efdf8 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2-pinctrl.dtsi @@ -15,20 +15,4 @@ low-power-enable; }; }; - - /* configuration for i2c0 device, default state */ - i2c0_default: i2c0_default { - group1 { - psels = , - ; - }; - }; - - i2c0_sleep: i2c0_sleep { - group1 { - psels = , - ; - low-power-enable; - }; - }; }; diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts index 0e064c20f..bab23c9a9 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts @@ -80,20 +80,6 @@ pinctrl-names = "default", "sleep"; }; -&i2c0 { - compatible = "nordic,nrf-twim"; - status = "okay"; - pinctrl-0 = <&i2c0_default>; - pinctrl-1 = <&i2c0_sleep>; - pinctrl-names = "default", "sleep"; - clock-frequency = ; - is31fl3733: is31fl3733@50 { - compatible = "issi,is31fl3733"; - reg = <0x50>; - sdb-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; - }; -}; - zephyr_udc0: &usbd { compatible = "nordic,nrf-usbd"; status = "okay"; diff --git a/app/boards/shields/m60/boards/nrf52840_m2.overlay b/app/boards/shields/m60/boards/nrf52840_m2.overlay new file mode 100644 index 000000000..80b4777a0 --- /dev/null +++ b/app/boards/shields/m60/boards/nrf52840_m2.overlay @@ -0,0 +1,31 @@ +&pinctrl { + /* configuration for i2c0 device, default state */ + i2c0_default: i2c0_default { + group1 { + psels = , + ; + }; + }; + + i2c0_sleep: i2c0_sleep { + group1 { + psels = , + ; + low-power-enable; + }; + }; +}; + +&i2c0 { + compatible = "nordic,nrf-twim"; + status = "okay"; + pinctrl-0 = <&i2c0_default>; + pinctrl-1 = <&i2c0_sleep>; + pinctrl-names = "default", "sleep"; + clock-frequency = ; + is31fl3733: is31fl3733@50 { + compatible = "issi,is31fl3733"; + reg = <0x50>; + sdb-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + }; +}; From 410c44105241757a81d2a93fc7322120f1d993fa Mon Sep 17 00:00:00 2001 From: BarbUk Date: Sat, 10 Jan 2026 10:42:08 +0400 Subject: [PATCH 10/11] Move pwm-leds to shield --- app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts | 13 ------------- app/boards/shields/m60/m60.overlay | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts index bab23c9a9..80b922c08 100644 --- a/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts +++ b/app/boards/makerdiary/nrf52840_m2/nrf52840_m2.dts @@ -42,19 +42,6 @@ output-ohms = <1000000>; full-ohms = <(1000000 + 1000000)>; }; - - pwmleds: pwmleds { - compatible = "pwm-leds"; - red_pwm_led: pwm_led_0 { - pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; - }; - green_pwm_led: pwm_led_1 { - pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; - }; - blue_pwm_led: pwm_led_2 { - pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>; - }; - }; }; &adc { diff --git a/app/boards/shields/m60/m60.overlay b/app/boards/shields/m60/m60.overlay index 1abbad625..057072f84 100644 --- a/app/boards/shields/m60/m60.overlay +++ b/app/boards/shields/m60/m60.overlay @@ -59,6 +59,19 @@ RC(6,4) RC(6,3) RC(6,2) RC(6,1) RC(6,0) RC(5,7) RC(5,6) RC(5,5) RC(5,4) RC RC(6,5) RC(6,6) RC(6,7) RC(7,0) RC(7,1) RC(7,2) RC(7,3) RC(7,4) >; }; + + pwmleds: pwmleds { + compatible = "pwm-leds"; + red_pwm_led: pwm_led_0 { + pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + green_pwm_led: pwm_led_1 { + pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + blue_pwm_led: pwm_led_2 { + pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + }; }; &layout_60_ansi { From 02803941677602fa827fbde49ba985761ed06017 Mon Sep 17 00:00:00 2001 From: BarbUk Date: Sat, 10 Jan 2026 11:10:03 +0400 Subject: [PATCH 11/11] Pwmled are not zmk backlight --- app/boards/shields/m60/Kconfig.defconfig | 4 ---- app/boards/shields/m60/m60.keymap | 1 - app/boards/shields/m60/m60.overlay | 1 - 3 files changed, 6 deletions(-) diff --git a/app/boards/shields/m60/Kconfig.defconfig b/app/boards/shields/m60/Kconfig.defconfig index 5292e3691..d162e623b 100644 --- a/app/boards/shields/m60/Kconfig.defconfig +++ b/app/boards/shields/m60/Kconfig.defconfig @@ -6,14 +6,10 @@ if SHIELD_M60 config ZMK_KEYBOARD_NAME default "m60" -if ZMK_BACKLIGHT - config PWM default y config LED_PWM default y -endif # ZMK_BACKLIGHT - endif diff --git a/app/boards/shields/m60/m60.keymap b/app/boards/shields/m60/m60.keymap index 6471e5973..254dbadf3 100644 --- a/app/boards/shields/m60/m60.keymap +++ b/app/boards/shields/m60/m60.keymap @@ -7,7 +7,6 @@ #include #include #include -#include / { keymap0: keymap { diff --git a/app/boards/shields/m60/m60.overlay b/app/boards/shields/m60/m60.overlay index 057072f84..5861e281a 100644 --- a/app/boards/shields/m60/m60.overlay +++ b/app/boards/shields/m60/m60.overlay @@ -12,7 +12,6 @@ chosen { zmk,kscan = &kscan0; zmk,physical-layout = &layout_60_ansi; - zmk,backlight = &pwmleds; }; kscan0: kscan {