mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-20 04:55:20 -05:00
Removed the combined .dtsi file for each group of common layouts, and split the position map across the files in each group. This makes reading the position maps slightly more difficult, but it aligns the common layouts with the keyboard-specific ones such as foostan/corne.dtsi in that simply including each header adds the layout, with no need to set status = "okay".
157 lines
4.6 KiB
Plaintext
157 lines
4.6 KiB
Plaintext
/*
|
|
* Copyright (c) 2020 The ZMK Contributors
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <st/f3/stm32f303Xc.dtsi>
|
|
#include <st/f3/stm32f303c(b-c)tx-pinctrl.dtsi>
|
|
#include <dt-bindings/zmk/matrix_transform.h>
|
|
|
|
#include <layouts/common/ortho_4x12/1x2u.dtsi>
|
|
#include <layouts/common/ortho_4x12/2x2u.dtsi>
|
|
#include <layouts/common/ortho_4x12/all1u.dtsi>
|
|
|
|
|
|
/ {
|
|
model = "Plack PCD, rev6";
|
|
compatible = "planck,rev6", "st,stm32f303";
|
|
|
|
chosen {
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zmk,kscan = &kscan0;
|
|
zmk,physical-layout = &layout_ortho_4x12_all1u;
|
|
};
|
|
|
|
kscan0: kscan {
|
|
compatible = "zmk,kscan-gpio-matrix";
|
|
diode-direction = "col2row";
|
|
row-gpios
|
|
= <&gpioa 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioa 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioa 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpiob 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioc 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioc 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioc 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
, <&gpioa 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
|
;
|
|
col-gpios
|
|
= <&gpiob 11 GPIO_ACTIVE_HIGH>
|
|
, <&gpiob 10 GPIO_ACTIVE_HIGH>
|
|
, <&gpiob 2 GPIO_ACTIVE_HIGH>
|
|
, <&gpiob 1 GPIO_ACTIVE_HIGH>
|
|
, <&gpioa 7 GPIO_ACTIVE_HIGH>
|
|
, <&gpiob 0 GPIO_ACTIVE_HIGH>
|
|
;
|
|
};
|
|
|
|
encoder: encoder {
|
|
compatible = "alps,ec11";
|
|
a-gpios = <&gpiob 12 GPIO_PULL_UP>;
|
|
b-gpios = <&gpiob 13 GPIO_PULL_UP>;
|
|
steps = <80>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sensors: sensors {
|
|
compatible = "zmk,keymap-sensors";
|
|
sensors = <&encoder>;
|
|
triggers-per-rotation = <20>;
|
|
};
|
|
|
|
layout_grid_transform:
|
|
keymap_transform_0 {
|
|
compatible = "zmk,matrix-transform";
|
|
columns = <6>;
|
|
rows = <8>;
|
|
map = <
|
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5)
|
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5)
|
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5)
|
|
RC(3,0) RC(3,1) RC(3,2) RC(7,3) RC(7,4) RC(7,5) RC(7,0) RC(7,1) RC(7,2) RC(3,3) RC(3,4) RC(3,5)
|
|
>;
|
|
};
|
|
layout_mit_transform:
|
|
keymap_transform_1 {
|
|
compatible = "zmk,matrix-transform";
|
|
columns = <6>;
|
|
rows = <8>;
|
|
map = <
|
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5)
|
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5)
|
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5)
|
|
RC(3,0) RC(3,1) RC(3,2) RC(7,3) RC(7,4) RC(7,0) RC(7,1) RC(7,2) RC(3,3) RC(3,4) RC(3,5)
|
|
>;
|
|
};
|
|
layout_2x2u_transform:
|
|
keymap_transform_2 {
|
|
compatible = "zmk,matrix-transform";
|
|
columns = <6>;
|
|
rows = <8>;
|
|
map = <
|
|
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5)
|
|
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5)
|
|
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5)
|
|
RC(3,0) RC(3,1) RC(3,2) RC(7,3) RC(7,5) RC(7,1) RC(7,2) RC(3,3) RC(3,4) RC(3,5)
|
|
>;
|
|
};
|
|
};
|
|
|
|
zephyr_udc0: &usb {
|
|
pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_hse {
|
|
status = "okay";
|
|
clock-frequency = <DT_FREQ_M(8)>;
|
|
};
|
|
|
|
&pll {
|
|
prediv = <1>;
|
|
mul = <9>;
|
|
clocks = <&clk_hse>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rcc {
|
|
clocks = <&pll>;
|
|
clock-frequency = <DT_FREQ_M(72)>;
|
|
ahb-prescaler = <1>;
|
|
apb1-prescaler = <2>;
|
|
apb2-prescaler = <1>;
|
|
};
|
|
|
|
&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 256Kb of flash */
|
|
storage_partition: partition@3e800 {
|
|
reg = <0x0003e800 0x00001800>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&layout_ortho_4x12_all1u {
|
|
transform = <&layout_grid_transform>;
|
|
};
|
|
|
|
&layout_ortho_4x12_1x2u {
|
|
transform = <&layout_mit_transform>;
|
|
};
|
|
|
|
&layout_ortho_4x12_2x2u {
|
|
transform = <&layout_2x2u_transform>;
|
|
};
|