配置文件路径
扩展引脚配置 仅需要修改设备树文件,以下分别例举Android、Linux SDK对应的设备树路径
Android SDK设备树路径
$ vim longan/device/config/chips/h618/configs/p2/board.dts
Linux SDK设备树路径
$ vim source/kernel/linux-5.4-h618/arch/arm64/boot/dts/sunxi/sun50iw9-kickpi-k2b.dts
根据自己的板型选择sun50iw9-kickpi-k2b.dts或sun50iw9-kickpi-k2c.dts
示例功能配置
GPIO输出
K2B开发板默认配置两路GPIO输出功能,分别为PC12(12脚)、PC7(14脚)
注意:其他引脚已配置为其他功能,若要配置为GPIO功能,则需要先把默认功能去掉
其中PC管脚输出电压为1.8V,PH管脚输出电压为3.3V
GPIO输出 提供两种控制方式,分别为gpio-leds、gpio_para
gpio-leds
gpio-leds 是LINUX内核自带的GPIO控制驱动,可实现丰富的控制方式
以下示例为 系统运行指示灯配置,实现心跳闪烁功能
/{
gpio-leds {
compatible = "gpio-leds";
status = "okay";
sys_led {
label="sys_led";
gpio = <&pio PI 16 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
};
gpio_para
gpio-para 是全志的GPIO控制驱动,可实现简单的电平高低控制
以下示例为 扩展引脚PC7、PC12的配置
&soc {
gpio_para {
gpio_num = <2>;
gpio_pin_1 = <&pio PC 7 GPIO_ACTIVE_HIGH>;
gpio_pin_2 = <&pio PC 12 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
GPIO按键
/{
gpio-keys {
compatible = "gpio-keys";
status = "okay";
autorepeat;
power {
label = "Power Key";
linux,code = <KEY_POWER>;
gpio = <&pio PC 2 GPIO_ACTIVE_LOW>; /* PC7 */
wakeup-source;
debounce-interval = <100>;
};
};
};
修改UART控制端口
修改debug_uart到你想用的uart,取消就用未使能的uart口
uart0固定会打印uboot日志
+++ b/source/kernel/linux-5.4-h618/arch/arm64/boot/dts/sunxi/uEnv/uEnv.txt
@@ -4,4 +4,4 @@ console=both
disp_mode=1080p60
fb0_width=1920
fb0_height=1080
-debug_uart=ttyAS0
+debug_uart=ttyAS3