From: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Include PMIC files used on Kaanapali MTP boards. Add configurations for
keys (volume up and volume down), RGB LEDs and flash LEDs.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 92 ++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index bc57935c042c..5054c5933687 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -5,9 +5,21 @@
/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/leds/common.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "kaanapali.dtsi"
+#include "pm8010-kaanapali.dtsi" /* SPMI1: SID-12/13 */
+#include "pmd8028-kaanapali.dtsi" /* SPMI1: SID-4 */
+#include "pmh0101.dtsi" /* SPMI0: SID-1 */
+#include "pmh0104-kaanapali.dtsi" /* SPMI1: SID-9 */
+#include "pmh0110-kaanapali.dtsi" /* SPMI0: SID-3/5/6/8 */
+#include "pmih0108-kaanapali.dtsi" /* SPMI1: SID-7 */
+#include "pmk8850.dtsi" /* SPMI0: SID-0 */
+#include "pmr735d-kaanapali.dtsi" /* SPMI1: SID-10 */
+
/ {
model = "Qualcomm Technologies, Inc. Kaanapali MTP";
compatible = "qcom,kaanapali-mtp", "qcom,kaanapali";
@@ -53,6 +65,22 @@ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
};
};
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&key_vol_up_default>;
+ pinctrl-names = "default";
+
+ key-volume-up {
+ label = "Volume Up";
+ linux,code = <KEY_VOLUMEUP>;
+ gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
+ debounce-interval = <15>;
+ linux,can-disable;
+ wakeup-source;
+ };
+ };
+
sound {
compatible = "qcom,kaanapali-sndcard", "qcom,sm8450-sndcard";
model = "Kaanapali-MTP";
@@ -801,6 +829,63 @@ &pcie_port0 {
reset-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
};
+&pmh0101_flash {
+ status = "okay";
+
+ led-0 {
+ function = LED_FUNCTION_FLASH;
+ function-enumerator = <0>;
+ color = <LED_COLOR_ID_YELLOW>;
+ led-sources = <1>, <4>;
+ led-max-microamp = <500000>;
+ flash-max-microamp = <2000000>;
+ flash-max-timeout-us = <1280000>;
+ };
+
+ led-1 {
+ function = LED_FUNCTION_FLASH;
+ function-enumerator = <1>;
+ color = <LED_COLOR_ID_WHITE>;
+ led-sources = <2>, <3>;
+ led-max-microamp = <500000>;
+ flash-max-microamp = <2000000>;
+ flash-max-timeout-us = <1280000>;
+ };
+};
+
+&pmh0101_pwm {
+ status = "okay";
+
+ multi-led {
+ color = <LED_COLOR_ID_RGB>;
+ function = LED_FUNCTION_STATUS;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@1 {
+ reg = <1>;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ led@2 {
+ reg = <2>;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ led@3 {
+ reg = <3>;
+ color = <LED_COLOR_ID_BLUE>;
+ };
+ };
+};
+
+&pon_resin {
+ linux,code = <KEY_VOLUMEDOWN>;
+
+ status = "okay";
+};
+
&remoteproc_adsp {
firmware-name = "qcom/kaanapali/adsp.mbn",
"qcom/kaanapali/adsp_dtb.mbn";
@@ -940,6 +1025,13 @@ spkr_1_sd_n_active: spkr-1-sd-n-active-state {
bias-disable;
};
+ key_vol_up_default: key-vol-up-default-state {
+ pins = "gpio101";
+ function = "gpio";
+ output-disable;
+ bias-pull-up;
+ };
+
pcie0_default_state: pcie0-default-state {
perst-n-pins {
pins = "gpio102";
--
2.25.1
On Sun, Mar 22, 2026 at 11:19:42PM -0700, Jingyi Wang wrote:
> From: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
>
> Include PMIC files used on Kaanapali MTP boards. Add configurations for
> keys (volume up and volume down), RGB LEDs and flash LEDs.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 92 ++++++++++++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
> index bc57935c042c..5054c5933687 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
> +++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
> @@ -5,9 +5,21 @@
>
> /dts-v1/;
>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/linux-event-codes.h>
> +#include <dt-bindings/leds/common.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> #include "kaanapali.dtsi"
>
> +#include "pm8010-kaanapali.dtsi" /* SPMI1: SID-12/13 */
> +#include "pmd8028-kaanapali.dtsi" /* SPMI1: SID-4 */
> +#include "pmh0101.dtsi" /* SPMI0: SID-1 */
> +#include "pmh0104-kaanapali.dtsi" /* SPMI1: SID-9 */
> +#include "pmh0110-kaanapali.dtsi" /* SPMI0: SID-3/5/6/8 */
> +#include "pmih0108-kaanapali.dtsi" /* SPMI1: SID-7 */
> +#include "pmk8850.dtsi" /* SPMI0: SID-0 */
> +#include "pmr735d-kaanapali.dtsi" /* SPMI1: SID-10 */
> +
> / {
> model = "Qualcomm Technologies, Inc. Kaanapali MTP";
> compatible = "qcom,kaanapali-mtp", "qcom,kaanapali";
> @@ -53,6 +65,22 @@ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
> };
> };
>
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + pinctrl-0 = <&key_vol_up_default>;
> + pinctrl-names = "default";
> +
> + key-volume-up {
> + label = "Volume Up";
> + linux,code = <KEY_VOLUMEUP>;
> + gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
> + debounce-interval = <15>;
> + linux,can-disable;
> + wakeup-source;
> + };
> + };
> +
This is not related to PMICs (and doesn't use PMIC gpios).
> sound {
> compatible = "qcom,kaanapali-sndcard", "qcom,sm8450-sndcard";
> model = "Kaanapali-MTP";
--
With best wishes
Dmitry
Hi Dmitry,
On 3/24/2026 6:43 AM, Dmitry Baryshkov wrote:
> On Sun, Mar 22, 2026 at 11:19:42PM -0700, Jingyi Wang wrote:
>> From: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
>>
>> Include PMIC files used on Kaanapali MTP boards. Add configurations for
>> keys (volume up and volume down), RGB LEDs and flash LEDs.
>>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>> Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
>> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
>> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
...
>> };
>>
>> + gpio-keys {
>> + compatible = "gpio-keys";
>> +
>> + pinctrl-0 = <&key_vol_up_default>;
>> + pinctrl-names = "default";
>> +
>> + key-volume-up {
>> + label = "Volume Up";
>> + linux,code = <KEY_VOLUMEUP>;
>> + gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
>> + debounce-interval = <15>;
>> + linux,can-disable;
>> + wakeup-source;
>> + };
>> + };
>> +
>
> This is not related to PMICs (and doesn't use PMIC gpios).
Usually volume up and down pins are both under PMIC, and it seems best to enable them together,
so we end up enabling these in PMIC patches.
Since this patch is already applied, maybe in the future, we'll add them under the main board
enablement patches, or perhaps should there be a separate patch for input pins ?
Thanks,
Jishnu
>
>> sound {
>> compatible = "qcom,kaanapali-sndcard", "qcom,sm8450-sndcard";
>> model = "Kaanapali-MTP";
>
© 2016 - 2026 Red Hat, Inc.