/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ /dts-v1/; #include #include #include / { model = "Keeb.io BDN9 rev2"; compatible = "keebio,bdn9", "st,stm32f072"; chosen { zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,console = &cdc_acm_uart; zmk,kscan = &kscan; zmk,underglow = &led_strip; }; kscan: kscan { compatible = "zmk,kscan-gpio-direct"; label = "KSCAN"; input-gpios = <&gpiob 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiob 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiob 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiob 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiob 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpioa 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiof 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> , <&gpiof 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> ; }; left_encoder: encoder_left { compatible = "alps,ec11"; label = "LEFT_ENCODER"; a-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; b-gpios = <&gpioa 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; resolution = <4>; status = "disabled"; }; mid_encoder: encoder_mid { compatible = "alps,ec11"; label = "MID_ENCODER"; a-gpios = <&gpioa 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; b-gpios = <&gpioa 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; resolution = <4>; status = "disabled"; }; right_encoder: encoder_right { compatible = "alps,ec11"; label = "RIGHT_ENCODER"; a-gpios = <&gpioa 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; b-gpios = <&gpiob 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; resolution = <4>; status = "disabled"; }; sensors: sensors { compatible = "zmk,keymap-sensors"; status = "disabled"; sensors = <>; }; }; &spi2 { status = "okay"; pinctrl-0 = <&spi2_sck_pb13 &spi2_mosi_pb15>; pinctrl-names = "default"; led_strip: ws2812@0 { compatible = "worldsemi,ws2812-spi"; label = "WS2812"; /* SPI */ reg = <0>; /* ignored, but necessary for SPI bindings */ spi-max-frequency = <4000000>; /* WS2812 */ chain-length = <9>; spi-one-frame = <0x70>; spi-zero-frame = <0x40>; color-mapping = ; }; }; &clk_hsi { status = "okay"; }; &pll { status = "okay"; prediv = <1>; mul = <6>; clocks = <&clk_hsi>; }; &rcc { clocks = <&pll>; clock-frequency = ; ahb-prescaler = <1>; apb1-prescaler = <1>; }; &usb { status = "okay"; pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; pinctrl-names = "default"; cdc_acm_uart: cdc_acm_uart { compatible = "zephyr,cdc-acm-uart"; label = "CDC_ACM_0"; }; }; &rtc { status = "okay"; }; &flash0 { /* * For more information, see: * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions */ partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; /* Set 6Kb of storage at the end of the 128Kb of flash */ storage_partition: partition@1e800 { label = "storage"; reg = <0x0001e800 0x00001800>; }; }; };