This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62P-LP:通过触摸屏交互从睡眠模式恢复

Guru**** 2455360 points
Other Parts Discussed in Thread: AM62P

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1485461/sk-am62p-lp-recovering-from-sleep-mode-trough-touch-screen-interaction

器件型号:SK-AM62P-LP
主题中讨论的其他器件:AM62P

工具与软件:

您好!

我们正在测试电路板上的电源管理、我们希望使将电路板置于低功耗模式并通过触摸屏 交互将其唤醒成为可能。 我们对主板的设备树进行了以下更改、将"唤醒源"添加到扩展器1节点和触摸屏节点、如下所示。

&main_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;

	touchscreen_ga657x@5d{
		status = "okay";
		compatible = "goodix,ga657x";
		reg = <0x5d>;

		interrupt-parent = <&exp1>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
		irq-gpios = <&exp1 0 GPIO_ACTIVE_LOW>;
		
	+	wakeup-source;  /* Allow WakeUp trough touch */
		
		reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;

		irq-flags = <2>;

		touchscreen-max-id = <11>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <720>;

		touchscreen-max-w = <512>;
		touchscreen-max-p = <512>;
		touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158, KEY_MENU=139*/
		goodix,slide-wakeup = <0>;
		goodix,type-a-report = <0>;
		goodix,driver-send-cfg = <0>;
		goodix,resume-in-workqueue = <0>;
		goodix,swap-x2y = <0>;
		goodix,esd-protect = <1>;
		goodix,auto-update = <0>;
		goodix,auto-update-cfg = <0>;
		goodix,power-off-sleep = <0>;
		goodix,pen-suppress-finger = <0>;

		goodix,cfg-group0 = [ 53 D0 02 00 05 05 F5 D5 21 48 2D 0F 5A 41 0E 05 00 00 32 32 20 00 05 14 14 1A 14 8B 2B 00 ];

	};

	typec_pd0: usb-power-controller@3f {
		compatible = "ti,tps6598x";
		reg = <0x3f>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			self-powered;
			data-role = "dual";
			power-role = "sink";
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					usb_con_hs: endpoint {
						remote-endpoint = <&usb0_hs_ep>;
					};
				};
			};
		};
	};
};


&main_i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <400000>;
	bootph-all;

	tlv320aic3106: audio-codec@1b {
		status = "disabled";
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x1b>;
		ai3x-micbias-vg = <1>;  /* 2.0V */
	};

	exp1: gpio@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
				   "UART1_FET_SEL", "MMC1_SD_EN",
				   "VPP_EN", "EXP_PS_3V3_EN",
				   "UART1_FET_BUF_EN", "EXP_HAT_DETECT",
				   "DSI_GPIO0", "DSI_GPIO1",
				   "OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
				   "USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
				   "CSI_GPIO1", "WLAN_ALERTn",
				   "HDMI_INTn", "TEST_GPIO2",
				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
				   "MCASP1_FET_SEL", "DSI_EDID",
				   "PD_I2C_IRQ", "IO_EXP_TEST_LED";

		interrupt-parent = <&main_gpio1>;
		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;

	+	wakeup-source; /* Allow WakeUp through expander IRQ */

		pinctrl-names = "default";
		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
		bootph-all;
	};



我们还需要进行其他修改吗?

此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您使用哪个 LPM 以及哪个 SDK 版本?

    主域 I2C 不支持通过 I/O 菊花链唤醒。 AM62P TRM: https://www.ti.com/lit/ug/spruj83a/spruj83a.pdf 的第4.9.2节对此进行了说明

    您可以尝试两个选项来解决此问题:

    • 写入 I2C 的 PADCONFIG 寄存器并使能位29至高电平。 这将告知焊盘、如果 LPM 使该电源域保持在线、则该焊盘应该能够唤醒。 请参阅 AM62P TRM 中的14.2.1.2焊盘配置寄存器。
    • 或者、尝试将连接到 touchscee/IO 扩展器的 GPIO 用作唤醒源。 检查这些器件是如何使用 GPIO 信号以及是什么引起中断的。

    这些选项未经 TI 或 TI EVM 验证、而是这些可以尝试的实验。

    此致、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、我们目前使用深度睡眠"echo mem >/sys/power/state "和 SDK 10.00.07.04

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢更新塞尔吉奥。 当您尝试上述内容时、请告知我们任何更新。

    谢谢!

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Anshu、您好、感谢您的答复。

    我们使用了另一个 GPIO 作为唤醒、我们在使用 LCD 触控作为唤醒方法时遇到了问题、因为我们的 LCD 是通过扩展器连接的、我们必须对 LCD 驱动程序进行一些修改、因为扩展器频率仅高达400kHz、有时我们的 LCD 中断速度比这更快。

    此致。