diff --git a/hosts/modules/hal/pine64-pinephone-pro/default.nix b/hosts/modules/hal/pine64-pinephone-pro/default.nix index bb71a4531..c95c24f02 100644 --- a/hosts/modules/hal/pine64-pinephone-pro/default.nix +++ b/hosts/modules/hal/pine64-pinephone-pro/default.nix @@ -37,6 +37,10 @@ in name = "rk3399-pinephone-pro"; dtsFile = ./rk3399-pinephone-pro-battery.dtso; } + { + name = "rk3399-pinephone-pro"; + dtsFile = ./rk3399-pinephone-pro-lradc-fix.dtso; + } ]; # this seems to not actually be necessary (unless maybe my *overlay* #include's stuff) diff --git a/hosts/modules/hal/pine64-pinephone-pro/rk3399-pinephone-pro-lradc-fix.dtso b/hosts/modules/hal/pine64-pinephone-pro/rk3399-pinephone-pro-lradc-fix.dtso new file mode 100644 index 000000000..0a51a98e8 --- /dev/null +++ b/hosts/modules/hal/pine64-pinephone-pro/rk3399-pinephone-pro-lradc-fix.dtso @@ -0,0 +1,15 @@ +// pinephone-pro uses an ADC for the volume button controls. +// mainline pinephone-pro dts file declares the threshold for vol-down as 0.6V, +// which is too high and causes most vol-down presses to be misread as vol-up presses. +// u-boot and megi both change this to 0.4 V. + +/dts-v1/; +/plugin/; + +/ { + compatible = "pine64,pinephone-pro"; +}; + +&{/adc-keys/button-down} { + press-threshold-microvolt = <400000>; +};