From 1fbfbb7ba74b7bb50ba9e9f1dd2a4b3fff935a14 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 02:36:01 +0000 Subject: [PATCH 01/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075: add dp2_hot_plug_det Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi index cd1c1b1e6bb45..2b14d0cc1e9a5 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi @@ -1180,6 +1180,12 @@ bias-disable; }; + dp2_hot_plug_det: dp2-hot-plug-det-state { + pins = "gpio104"; + function = "edp2_hot"; + bias-disable; + }; + ethernet0_default: ethernet0-default-state { ethernet0_mdc: ethernet0-mdc-pins { pins = "gpio8"; From e5092ff4dc0d1e0a2bc8735a5a2c86c7ab48a528 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 02:45:07 +0000 Subject: [PATCH 02/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: add gpio leds Signed-off-by: William Norman --- .../dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index d8736e35a7f47..403a1105f102f 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -113,6 +113,27 @@ debounce-interval = <30>; }; }; + + gpio_leds: leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pme_gpio_10_led>; + + blue_led { + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&pca 0 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "on"; + }; + + green_led { + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&pmm8654au_2_gpios 10 GPIO_ACTIVE_HIGH>; + default-state = "off"; + }; + }; }; &i2c1 { @@ -221,6 +242,13 @@ output-high; bias-pull-high; }; + + pme_gpio_10_led: pme-gpio-10-led-state { + pins = "gpio10"; + function = "normal"; + output-low; + bias-disable; + }; }; &tlmm { @@ -232,4 +260,3 @@ bias-pull-up; }; }; - From 111386a1770cc754d143f4197a53e6b6d45f7302 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:06:46 +0000 Subject: [PATCH 03/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: add 40-PIN gpio label --- .../dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 91 ++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index 403a1105f102f..ae32815e4c782 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -145,10 +145,21 @@ compatible = "nxp,pca9685-pwm"; #pwm-cells = <2>; reg = <0x55>; + + gpio-line-names = + /* GPIO0 ~ GPIO3 */ + "", "PIN_37", "PIN_7", "PIN_11", + /* GPIO4 ~ GPIO7 */ + "PIN_13", "PIN_15", "PIN_29", "PIN_31", + /* GPIO8 ~ GPIO11 */ + "PIN_36", "PIN_32", "PIN_22", "PIN_18", + /* GPIO12 ~ GPIO15 */ + "PIN_16", "PIN_10", "PIN_8", "PIN_33", + /*GPIO16*/ + ""; }; }; - &i2c7 { qcom,load-firmware; qcom,xfer-mode = <1>; @@ -253,6 +264,84 @@ &tlmm { + gpio-line-names = + /* GPIO0 ~ GPIO3 */ + "", "", "", "", + /* GPIO4 ~ GPIO7 */ + "", "", "", "", + /* GPIO8 ~ GPIO11 */ + "", "", "", "", + /* GPIO12 ~ GPIO15 */ + "", "PIN_21", "PIN_19", "PIN_23", + /* GPIO16 ~ GPIO19 */ + "PIN_24", "PIN_26", "", "", + /* GPIO20 ~ GPIO23 */ + "", "", "", "", + /* GPIO24 ~ GPIO27 */ + "", "", "", "", + /* GPIO28 ~ GPIO31 */ + "", "", "", "", + /* GPIO32 ~ GPIO35 */ + "", "", "", "", + /* GPIO36 ~ GPIO39 */ + "", "", "", "", + /* GPIO40 ~ GPIO43 */ + "PIN_3", "PIN_5", "", "", + /* GPIO44 ~ GPIO47 */ + "", "", "", "", + /* GPIO48 ~ GPIO51 */ + "", "", "", "", + /* GPIO52 ~ GPIO55 */ + "", "", "", "", + /* GPIO56 ~ GPIO59 */ + "", "", "", "", + /* GPIO60 ~ GPIO63 */ + "", "", "", "", + /* GPIO64 ~ GPIO67 */ + "", "", "", "", + /* GPIO68 ~ GPIO71 */ + "", "", "", "", + /* GPIO72 ~ GPIO75 */ + "", "", "", "", + /* GPIO76 ~ GPIO79 */ + "", "", "", "", + /* GPIO80 ~ GPIO83 */ + "", "", "", "", + /* GPIO84 ~ GPIO87 */ + "", "", "", "", + /* GPIO88 ~ GPIO91 */ + "", "", "", "", + /* GPIO92 ~ GPIO95 */ + "", "", "", "PIN_27", + /* GPIO96 ~ GPIO99 */ + "PIN_28", "", "", "", + /* GPIO100 ~ GPIO103 */ + "", "", "", "", + /* GPIO104 ~ GPIO107 */ + "", "", "", "", + /* GPIO108 ~ GPIO111 */ + "", "", "PIN_12", "PIN_35", + /* GPIO112 ~ GPIO115 */ + "PIN_38", "PIN_40", "", "", + /* GPIO116 ~ GPIO119 */ + "", "", "", "", + /* GPIO120 ~ GPIO123 */ + "", "", "", "", + /* GPIO124 ~ GPIO127 */ + "", "", "", "", + /* GPIO128 ~ GPIO131 */ + "", "", "", "", + /* GPIO132 ~ GPIO135 */ + "", "", "", "", + /* GPIO136 ~ GPIO139 */ + "", "", "", "", + /* GPIO140 ~ GPIO143 */ + "", "", "", "", + /* GPIO144 ~ GPIO147 */ + "", "", "", "", + /* GPIO148 ~ GPIO149 */ + "", ""; + gpio_keys_default: gpio-keys-default-state { pins = "gpio97"; function = "gpio"; From b8ca781f330f5ecfa85b115f3a43543643f393d2 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:08:25 +0000 Subject: [PATCH 04/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: add vcc_1v8_reboot_en_regulator Signed-off-by: William Norman Co-authored-by: Songjun Li --- .../dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index ae32815e4c782..c890c9ab87f39 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -89,6 +89,19 @@ regulator-always-on; }; + vcc_1v8_reboot_en_regulator: vcc-1v8-reboot-en-regulator { + compatible = "regulator-fixed"; + regulator-name = "vcc_1v8_reboot_enbale"; + gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc_1v8_reboot_en_state>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + enable-active-high; + regulator-always-on; + }; + switch_to_ekey_usb_regulator: switch-to-ekey-usb-regulator { compatible = "regulator-fixed"; regulator-name = "switch_to_ekey_usb"; @@ -348,4 +361,11 @@ drive-strength = <2>; bias-pull-up; }; + + vcc_1v8_reboot_en_state: vcc-1v8-reboot-en-state { + pins = "gpio73"; + function = "normal"; + output-high; + bias-pull-up; + }; }; From 161a36fc5d7faed28c7a2f478ff69498a03613b7 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:11:58 +0000 Subject: [PATCH 05/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: add fan Signed-off-by: William Norman --- .../dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index c890c9ab87f39..d16c55e43f445 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -147,6 +147,25 @@ default-state = "off"; }; }; + + fan_pwm: pwm { + compatible = "clk-pwm"; + #pwm-cells = <2>; + clocks = <&gcc GCC_GP1_CLK>; + gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>; + + pinctrl-names = "default", "gpio"; + pinctrl-0 = <&fan_pwm_clk_state>; + pinctrl-1 = <&fan_pwm_gpio_state>; + }; + + fan0: pwm-fan { + compatible = "pwm-fan"; + pwms = <&fan_pwm 0 100000>; + cooling-levels = <0 64 128 192 255>; + #cooling-cells = <2>; + status = "okay"; + }; }; &i2c1 { @@ -362,6 +381,20 @@ bias-pull-up; }; + fan_pwm_clk_state: fan-pwm-clk-state { + pins = "gpio51"; + function = "gcc_gp1"; + drive-strength = <2>; + bias-disable; + }; + + fan_pwm_gpio_state: fan-pwm-gpio-state { + pins = "gpio51"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + vcc_1v8_reboot_en_state: vcc-1v8-reboot-en-state { pins = "gpio73"; function = "normal"; From 672effb68984755c0179ce8e650ff3cecd1d54d1 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:19:19 +0000 Subject: [PATCH 06/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: add can2 and can3 under spi16 Signed-off-by: William Norman Co-authored-by: SongJun Li --- .../dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index d16c55e43f445..ac38e944af9b5 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -206,6 +206,53 @@ }; }; +&qup_spi16_default { + pins = "gpio86", "gpio87", "gpio88"; + function = "qup2_se2"; + drive-strength = <6>; + bias-disable; +}; + +&spi16 { + qcom,load-firmware; + qcom,xfer-mode = <1>; + + num-cs = <2>; + cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>, + <&tlmm 90 GPIO_ACTIVE_LOW>; + + pinctrl-names = "default"; + pinctrl-0 = <&qup_spi16_default &spi16_cs_gpio_state>; + + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + mcp2518fd_can2: can@0 { + compatible = "microchip,mcp2518fd"; + reg = <0>; + clock-frequency = <40000000>; + spi-max-frequency = <5000000>; + pinctrl-names = "default"; + pinctrl-0 = <&mcp2518fd_spi16_can0_int_state>; + interrupt-names = "can2_irq"; + interrupts-extended = <&tlmm 78 IRQ_TYPE_LEVEL_LOW>; + status = "okay"; + }; + + mcp2518fd_can3: can@1 { + compatible = "microchip,mcp2518fd"; + reg = <1>; + clock-frequency = <40000000>; + spi-max-frequency = <5000000>; + pinctrl-names = "default"; + pinctrl-0 = <&mcp2518fd_spi16_can1_int_state>; + interrupt-names = "can3_irq"; + interrupts-extended = <&tlmm 79 IRQ_TYPE_LEVEL_LOW>; + status = "okay"; + }; +}; + &uart9 { qcom,load-firmware; qcom,xfer-mode = <1>; @@ -401,4 +448,26 @@ output-high; bias-pull-up; }; + + spi16_cs_gpio_state: spi16-cs-gpio-state { + pins = "gpio89", "gpio90"; + function = "gpio"; + drive-strength = <6>; + bias-pull-up; + output-high; + }; + + mcp2518fd_spi16_can0_int_state: mcp2518fd-spi16-can0-int-state { + pins = "gpio78"; + function = "gpio"; + bias-pull-up; + input-enable; + }; + + mcp2518fd_spi16_can1_int_state: mcp2518fd-spi16-can1-int-state { + pins = "gpio79"; + function = "gpio"; + bias-pull-up; + input-enable; + }; }; From a3a6fe6a83d83c4793c0765e7af207995b580aac Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:27:02 +0000 Subject: [PATCH 07/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: fix rs485 Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index ac38e944af9b5..dbae97fcdf6b5 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -269,6 +269,10 @@ status = "okay"; }; +&qup_uart17_rts { + bias-pull-down; +}; + &uart17 { qcom,load-firmware; qcom,xfer-mode = <1>; @@ -276,7 +280,6 @@ pinctrl-names = "default"; status = "okay"; linux,rs485-enabled-at-boot-time; - rs485-rts-active-low; }; &pmm8654au_1_gpios { From 06cc44f58bac1ad2b992e69d48e453029bdddc99 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:37:40 +0000 Subject: [PATCH 08/18] arm64: config: qcom_defconfig: enable CONFIG_PWM_CLK Signed-off-by: William Norman --- arch/arm64/configs/qcom_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/qcom_defconfig b/arch/arm64/configs/qcom_defconfig index bad36f3818f3e..004484b00f3fe 100644 --- a/arch/arm64/configs/qcom_defconfig +++ b/arch/arm64/configs/qcom_defconfig @@ -902,3 +902,4 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_PAGE_OWNER=y CONFIG_PANIC_ON_OOPS=y CONFIG_SCHEDSTATS=y +CONFIG_PWM_CLK=m From 626685cf251a89c0335c8cbfca74452c0838595a Mon Sep 17 00:00:00 2001 From: William Norman Date: Fri, 7 Aug 2026 06:17:01 +0000 Subject: [PATCH 09/18] arm64: config: qcom_defconfig: delete imx219 Signed-off-by: William Norman --- arch/arm64/configs/qcom_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/qcom_defconfig b/arch/arm64/configs/qcom_defconfig index 004484b00f3fe..797eda0ab6bfa 100644 --- a/arch/arm64/configs/qcom_defconfig +++ b/arch/arm64/configs/qcom_defconfig @@ -903,3 +903,4 @@ CONFIG_PAGE_OWNER=y CONFIG_PANIC_ON_OOPS=y CONFIG_SCHEDSTATS=y CONFIG_PWM_CLK=m +VIDEO_CAMERA_SENSOR=y From 01876ffe52798ec35b8bf9300b83bc0c20f0398d Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 03:43:41 +0000 Subject: [PATCH 10/18] ubuntu: qcom: camera: cam_req_mgr: populate CCI children and support cci-device Populate qcom,cam-sensor children under qcom,cci nodes as platform devices, and fall back to the sensor node's own "cci-device" property when the parent has no cell-index. Signed-off-by: William Norman --- .../camera/drivers/cam_req_mgr/cam_req_mgr_dev.c | 12 ++++++++++++ .../cam_sensor_module/cam_sensor/cam_sensor_soc.c | 8 +++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ubuntu/qcom/camera/camera/drivers/cam_req_mgr/cam_req_mgr_dev.c b/ubuntu/qcom/camera/camera/drivers/cam_req_mgr/cam_req_mgr_dev.c index 2e7c453eb51da..a08cb34ed652c 100644 --- a/ubuntu/qcom/camera/camera/drivers/cam_req_mgr/cam_req_mgr_dev.c +++ b/ubuntu/qcom/camera/camera/drivers/cam_req_mgr/cam_req_mgr_dev.c @@ -1189,6 +1189,18 @@ static int cam_req_mgr_probe(struct platform_device *pdev) } } + /* Also populate CCI children as platform devices */ + np = NULL; + while ((np = of_find_compatible_node(np, NULL, "qcom,cci"))) { + rc = of_platform_populate(np, cam_sensor_module_dt_match, NULL, NULL); + if (rc) { + CAM_ERR(CAM_CRM, + "Failed to populate CCI child nodes as platform devices for parent: %s, rc=%d", + np->full_name, rc); + goto end; + } + } + rc = camera_component_match_add_drivers(dev, &match_list); if (rc) { CAM_ERR(CAM_CRM, diff --git a/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c b/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c index 0b6f8be000c8a..b5aabaf719efd 100644 --- a/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c +++ b/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c @@ -263,9 +263,11 @@ static int32_t cam_sensor_driver_get_dt_data(struct cam_sensor_ctrl_t *s_ctrl) of_parent = of_get_parent(local_of_node); if (of_property_read_u32(of_parent, "cell-index", - &s_ctrl->cci_num) < 0) - /* Set default master 0 */ - s_ctrl->cci_num = CCI_DEVICE_0; + &s_ctrl->cci_num) < 0) { + if (of_property_read_u32(of_node, "cci-device", + &s_ctrl->cci_num) < 0) + s_ctrl->cci_num = CCI_DEVICE_0; + } s_ctrl->io_master_info.cci_client->cci_device = s_ctrl->cci_num; From 9c946664438d9ec02fc4024d8bed31e3382d9795 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 09:27:16 +0000 Subject: [PATCH 11/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: enable qupv3_id_3 Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi index 2b14d0cc1e9a5..6ac80552a6ba7 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi @@ -719,6 +719,11 @@ status = "okay"; }; +&qupv3_id_3 { + firmware-name = "qupv3fw.elf"; + status = "okay"; +}; + &remoteproc_adsp { firmware-name = "qcom/sa8775p/adsp.mbn"; status = "okay"; From f28c20604e264e46bcf4a5a9f2bfa190affd2401 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 10:25:09 +0000 Subject: [PATCH 12/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: fix gpio led Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index dbae97fcdf6b5..c801748aab7b1 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -137,14 +137,13 @@ function = LED_FUNCTION_STATUS; gpios = <&pca 0 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; - default-state = "on"; }; green_led { color = ; function = LED_FUNCTION_STATUS; gpios = <&pmm8654au_2_gpios 10 GPIO_ACTIVE_HIGH>; - default-state = "off"; + linux,default-trigger = "none"; }; }; @@ -176,6 +175,8 @@ pca: pca@55 { compatible = "nxp,pca9685-pwm"; #pwm-cells = <2>; + #gpio-cells = <2>; + gpio-controller; reg = <0x55>; gpio-line-names = From 9e985d0465114cd6bfc860b8da3654fae2c4ee27 Mon Sep 17 00:00:00 2001 From: William Norman <105425502+nascs@users.noreply.github.com> Date: Thu, 6 Aug 2026 18:27:01 +0800 Subject: [PATCH 13/18] Update arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts Co-authored-by: ZHANG Yuntian --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index c801748aab7b1..49f4a9f31a473 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -97,7 +97,6 @@ pinctrl-0 = <&vcc_1v8_reboot_en_state>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - regulator-boot-on; enable-active-high; regulator-always-on; }; From 328452e34f0e08d27890f47723fcc54f58ff4473 Mon Sep 17 00:00:00 2001 From: William Norman Date: Thu, 6 Aug 2026 10:40:04 +0000 Subject: [PATCH 14/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: delete switch_to_ekey_usb_regulator Signed-off-by: William Norman --- .../boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index 49f4a9f31a473..54e057885ff8c 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -101,17 +101,6 @@ regulator-always-on; }; - switch_to_ekey_usb_regulator: switch-to-ekey-usb-regulator { - compatible = "regulator-fixed"; - regulator-name = "switch_to_ekey_usb"; - gpio = <&pmm8654au_2_gpios 11 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&switch_to_ekey_usb>; - enable-active-high; - regulator-boot-on; - regulator-always-on; - }; - gpio_keys: gpio-keys { compatible = "gpio-keys"; pinctrl-0 = <&gpio_keys_default>; From a4b2a0c3067794b6142c9570958f6909376a6dc0 Mon Sep 17 00:00:00 2001 From: William Norman Date: Fri, 7 Aug 2026 01:42:16 +0000 Subject: [PATCH 15/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075: fix qup firmware path Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi index 6ac80552a6ba7..628be2d2f1943 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075.dtsi @@ -705,22 +705,22 @@ }; &qupv3_id_0 { - firmware-name = "qupv3fw.elf"; + firmware-name = "qcom/sa8775p/qupv3fw.elf"; status = "okay"; }; &qupv3_id_1 { - firmware-name = "qupv3fw.elf"; + firmware-name = "qcom/sa8775p/qupv3fw.elf"; status = "okay"; }; &qupv3_id_2 { - firmware-name = "qupv3fw.elf"; + firmware-name = "qcom/sa8775p/qupv3fw.elf"; status = "okay"; }; &qupv3_id_3 { - firmware-name = "qupv3fw.elf"; + firmware-name = "qcom/sa8775p/qupv3fw.elf"; status = "okay"; }; From 08f665ba16f525677169f5789b86149605c3f757 Mon Sep 17 00:00:00 2001 From: William Norman Date: Fri, 7 Aug 2026 03:57:25 +0000 Subject: [PATCH 16/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: rename vcc_1v8_io_regulator Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index 54e057885ff8c..9d45a66dd641e 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -89,12 +89,12 @@ regulator-always-on; }; - vcc_1v8_reboot_en_regulator: vcc-1v8-reboot-en-regulator { + vcc_1v8_io_regulator: vcc-1v8-io-regulator { compatible = "regulator-fixed"; - regulator-name = "vcc_1v8_reboot_enbale"; + regulator-name = "vcc_1v8_io"; gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; - pinctrl-0 = <&vcc_1v8_reboot_en_state>; + pinctrl-0 = <&vcc_1v8_io_en_state>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; enable-active-high; @@ -434,7 +434,7 @@ bias-disable; }; - vcc_1v8_reboot_en_state: vcc-1v8-reboot-en-state { + vcc_1v8_io_en_state: vcc-1v8-en-state { pins = "gpio73"; function = "normal"; output-high; From 1ecf3ddefe1b885e22e2e570c9e908135ff9346e Mon Sep 17 00:00:00 2001 From: William Norman Date: Fri, 7 Aug 2026 11:59:46 +0800 Subject: [PATCH 17/18] ubuntu: qcom: camera: cam_sensor_soc: merge cci-device fallback condition Signed-off-by: William Norman --- .../drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c b/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c index b5aabaf719efd..0d5249cb1adee 100644 --- a/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c +++ b/ubuntu/qcom/camera/camera/drivers/cam_sensor_module/cam_sensor/cam_sensor_soc.c @@ -263,10 +263,11 @@ static int32_t cam_sensor_driver_get_dt_data(struct cam_sensor_ctrl_t *s_ctrl) of_parent = of_get_parent(local_of_node); if (of_property_read_u32(of_parent, "cell-index", + &s_ctrl->cci_num) < 0 && + of_property_read_u32(of_node, "cci-device", &s_ctrl->cci_num) < 0) { - if (of_property_read_u32(of_node, "cci-device", - &s_ctrl->cci_num) < 0) - s_ctrl->cci_num = CCI_DEVICE_0; + /* Set default master 0 */ + s_ctrl->cci_num = CCI_DEVICE_0; } s_ctrl->io_master_info.cci_client->cci_device From 3ceddc6d6e58dc4cfcb0ce907cd1052a12a340e3 Mon Sep 17 00:00:00 2001 From: William Norman Date: Fri, 7 Aug 2026 08:37:13 +0000 Subject: [PATCH 18/18] arm64: dts: qcom: qcs9075-radxa-vmarc-q9075-io: delete PCA9685 gpio16 Signed-off-by: William Norman --- arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts index 9d45a66dd641e..2f01d0579dfb1 100644 --- a/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts +++ b/arch/arm64/boot/dts/qcom/qcs9075-radxa-vmarc-q9075-io.dts @@ -175,9 +175,7 @@ /* GPIO8 ~ GPIO11 */ "PIN_36", "PIN_32", "PIN_22", "PIN_18", /* GPIO12 ~ GPIO15 */ - "PIN_16", "PIN_10", "PIN_8", "PIN_33", - /*GPIO16*/ - ""; + "PIN_16", "PIN_10", "PIN_8", "PIN_33"; }; };