Page 1 of 1

Luckfox Pico Ultra w的休眠调试

Posted: 2025-02-18 8:41
by fengyulingyu
尝试休眠的dts完整的文件内容

Code: Select all

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 */

/dts-v1/;
#include "rv1106.dtsi"
#include "rv1106-luckfox-pico-ultra-ipc.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/display/media-bus-format.h>

/ {
	model = "Luckfox Pico Ultra W";
	compatible = "rockchip,rv1103g-38x38-ipc-v10", "rockchip,rv1106g3";

	restart-poweroff {
		compatible = "restart-poweroff";
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
		reset-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
	};

  wireless_bluetooth: wireless-bluetooth {
    compatible = "bluetooth-platdata";
    uart_rts_gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default", "rts_gpio";
    pinctrl-0 = <&uart1m0_rtsn>;
    pinctrl-1 = <&uart1_gpios>;
    BT,wake_gpio     = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
    BT,wake_host_irq = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
    status = "okay";
  };
};

/**********CRU**********/
//&cru {
//	assigned-clocks =
//		<&cru PLL_GPLL>, <&cru PLL_CPLL>,
//		<&cru ARMCLK>,
//		<&cru ACLK_PERI_ROOT>, <&cru HCLK_PERI_ROOT>,
//		<&cru PCLK_PERI_ROOT>, <&cru ACLK_BUS_ROOT>,
//		<&cru PCLK_TOP_ROOT>, <&cru PCLK_PMU_ROOT>,
//		<&cru HCLK_PMU_ROOT>, <&cru CLK_500M_SRC>;
//	assigned-clock-rates =
//		<1188000000>, <700000000>,
//		<1104000000>,
//		<400000000>, <200000000>,
//		<100000000>, <300000000>,
//		<100000000>, <100000000>,
//		<200000000>, <700000000>;
//};

/**********NPU**********/
//&npu {
//	assigned-clock-rates = <700000000>;
//};

/**********EMMC**********/
&emmc {
	bus-width = <8>;
	cap-mmc-highspeed;
	non-removable;
	// mmc-hs200-1_8v;
	rockchip,default-sample-phase = <90>;
	no-sdio;
	no-sd;
	memory-region-ecsd = <&mmc_ecsd>;
	post-power-on-delay-ms = <0>;
	status = "okay";
};

&fiq_debugger {
	rockchip,irq-mode-enable = <1>;
	status = "okay";
};

/**********SDIO-WIFI**********/
&sdmmc {
        max-frequency = <50000000>;
        bus-width = <4>;
        cap-sd-highspeed;
        cap-sdio-irq;
        keep-power-in-suspend;
        non-removable;
        rockchip,default-sample-phase = <90>;
        // no-sd;
        // no-mmc;
        supports-sdio;
        mmc-pwrseq = <&sdio_pwrseq>;
        pinctrl-names = "default";
        pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_bus4 &sdmmc0_det>;
        status = "okay";
};

&pinctrl{
	sdmmc0{
		sdmmc0_det: sdmmc0-det {
			rockchip,pins =
				/* sdmmc0_det */
				<3 RK_PA1 1 &pcfg_pull_down>;
		};
  };
};

/***********I2C2**********/
&panel {
        status = "disabled";
};

&rgb {
        status = "disabled";
};

&rgb_in_vop {
        status = "disabled";
};

&route_rgb {
        status = "disabled";
};

&vop {
        status = "disabled";
};
/**********I2C**********/
&i2c2 {
	status="okay";
	clock-frequency=<400000>;
	pinctrl-names="default";
	pinctrl-0=<&i2c2m0_xfer>;
};

/**********ETH**********/
&gmac {
	status = "okay";
};

/**********USB**********/
&usbdrd_dwc3 {
	status = "okay";
	#dr_mode = "peripheral";
  	dr_mode = "host";
};

/**********RTC**********/
&rtc {
	status = "okay";
};

/**********BT**********/
&uart1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
};


&pinctrl {
  wireless-bluetooth {
    uart1_gpios: uart1-gpios {
      rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
    };
  };
};


/**********SPI**********/
&spi0 {
	status = "disabled";
	spidev@0 {
		spi-max-frequency = <50000000>;
	};
};
/**********UART5**********/

&uart5 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&uart5m1_xfer>;
};


&uart2 { status = "okay"; 
	pinctrl-names = "default"; 
	pinctrl-0 = <&uart2m0_xfer>; 
};


{
	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;
		pinctrl-names = "default";
		pinctrl-0 = <&pwr_key>;
		power-key {
			gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_POWER>;
			label ="GPIO Key Power";
			debounce-interval = <100>;
			wakeup-source;
		};
	};
};

&pinctrl {
	buttons {
		pwr_key:pwr-key{
			rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};


Re: Luckfox Pico Ultra w的休眠调试

Posted: 2025-02-19 1:38
by Crocodile
您好,正确的设备树应该如下,gpio-keys节点没有创建要放在根节点下

Code: Select all

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 */

/dts-v1/;
#include "rv1106.dtsi"
#include "rv1106-luckfox-pico-ultra-ipc.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/display/media-bus-format.h>

/ {
	model = "Luckfox Pico Ultra W";
	compatible = "rockchip,rv1103g-38x38-ipc-v10", "rockchip,rv1106g3";

	restart-poweroff {
		compatible = "restart-poweroff";
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
		reset-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
	};

  wireless_bluetooth: wireless-bluetooth {
    compatible = "bluetooth-platdata";
    uart_rts_gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
    pinctrl-names = "default", "rts_gpio";
    pinctrl-0 = <&uart1m0_rtsn>;
    pinctrl-1 = <&uart1_gpios>;
    BT,wake_gpio     = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
    BT,wake_host_irq = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
    status = "okay";
  };
  
  	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;
		pinctrl-names = "default";
		pinctrl-0 = <&pwr_key>;
		power-key {
			gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_POWER>;
			label ="GPIO Key Power";
			debounce-interval = <100>;
			wakeup-source;
		};
	};
  
  
};

/**********CRU**********/
//&cru {
//	assigned-clocks =
//		<&cru PLL_GPLL>, <&cru PLL_CPLL>,
//		<&cru ARMCLK>,
//		<&cru ACLK_PERI_ROOT>, <&cru HCLK_PERI_ROOT>,
//		<&cru PCLK_PERI_ROOT>, <&cru ACLK_BUS_ROOT>,
//		<&cru PCLK_TOP_ROOT>, <&cru PCLK_PMU_ROOT>,
//		<&cru HCLK_PMU_ROOT>, <&cru CLK_500M_SRC>;
//	assigned-clock-rates =
//		<1188000000>, <700000000>,
//		<1104000000>,
//		<400000000>, <200000000>,
//		<100000000>, <300000000>,
//		<100000000>, <100000000>,
//		<200000000>, <700000000>;
//};

/**********NPU**********/
//&npu {
//	assigned-clock-rates = <700000000>;
//};

/**********EMMC**********/
&emmc {
	bus-width = <8>;
	cap-mmc-highspeed;
	non-removable;
	// mmc-hs200-1_8v;
	rockchip,default-sample-phase = <90>;
	no-sdio;
	no-sd;
	memory-region-ecsd = <&mmc_ecsd>;
	post-power-on-delay-ms = <0>;
	status = "okay";
};

&fiq_debugger {
	rockchip,irq-mode-enable = <1>;
	status = "okay";
};

/**********SDIO-WIFI**********/
&sdmmc {
        max-frequency = <50000000>;
        bus-width = <4>;
        cap-sd-highspeed;
        cap-sdio-irq;
        keep-power-in-suspend;
        non-removable;
        rockchip,default-sample-phase = <90>;
        // no-sd;
        // no-mmc;
        supports-sdio;
        mmc-pwrseq = <&sdio_pwrseq>;
        pinctrl-names = "default";
        pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_bus4 &sdmmc0_det>;
        status = "okay";
};

&pinctrl{
	sdmmc0{
		sdmmc0_det: sdmmc0-det {
			rockchip,pins =
				/* sdmmc0_det */
				<3 RK_PA1 1 &pcfg_pull_down>;
		};
  };
};

/***********I2C2**********/
&panel {
        status = "disabled";
};

&rgb {
        status = "disabled";
};

&rgb_in_vop {
        status = "disabled";
};

&route_rgb {
        status = "disabled";
};

&vop {
        status = "disabled";
};
/**********I2C**********/
&i2c2 {
	status="okay";
	clock-frequency=<400000>;
	pinctrl-names="default";
	pinctrl-0=<&i2c2m0_xfer>;
};

/**********ETH**********/
&gmac {
	status = "okay";
};

/**********USB**********/
&usbdrd_dwc3 {
	status = "okay";
	#dr_mode = "peripheral";
  	dr_mode = "host";
};

/**********RTC**********/
&rtc {
	status = "okay";
};

/**********BT**********/
&uart1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
};


&pinctrl {
  wireless-bluetooth {
    uart1_gpios: uart1-gpios {
      rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
    };
  };
};


/**********SPI**********/
&spi0 {
	status = "disabled";
	spidev@0 {
		spi-max-frequency = <50000000>;
	};
};
/**********UART5**********/

&uart5 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&uart5m1_xfer>;
};


&uart2 { status = "okay"; 
	pinctrl-names = "default"; 
	pinctrl-0 = <&uart2m0_xfer>; 
};

&pinctrl {
	buttons {
		pwr_key:pwr-key{
			rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};