mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-12-26 11:39:44 +01:00
45 lines
1 KiB
Nix
45 lines
1 KiB
Nix
|
{ config, lib, ... }:
|
||
|
|
||
|
let
|
||
|
cfg = config.hardware.raspberry-pi."4".bluetooth;
|
||
|
in
|
||
|
{
|
||
|
options.hardware = {
|
||
|
raspberry-pi."4".bluetooth = {
|
||
|
enable = lib.mkEnableOption ''
|
||
|
configuration for bluetooth
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
hardware.raspberry-pi."4".apply-overlays-dtmerge.enable = lib.mkDefault true;
|
||
|
# doesn't work for the CM module, so we exclude e.g. bcm2711-rpi-cm4.dts
|
||
|
hardware.deviceTree.filter = "bcm2711-rpi-4*.dtb";
|
||
|
|
||
|
hardware.deviceTree = {
|
||
|
overlays = [
|
||
|
{
|
||
|
name = "bluetooth-overlay";
|
||
|
dtsText = ''
|
||
|
/dts-v1/;
|
||
|
/plugin/;
|
||
|
|
||
|
/ {
|
||
|
compatible = "brcm,bcm2711";
|
||
|
|
||
|
fragment@0 {
|
||
|
target = <&uart0_pins>;
|
||
|
__overlay__ {
|
||
|
brcm,pins = <30 31 32 33>;
|
||
|
brcm,pull = <2 0 0 2>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
'';
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
}
|