全志F1C200S嵌入式驱动开发(pwm驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        pwm是常见的一种控制形式。多见于屏幕亮度控制,或者是电机控制。目前f1c200s上面支持两路pwm控制。一个是pwm0,一个是pwm1。因为设计者在电路设计的时候,把pwm1给了PE6,用来控制lcd屏幕的亮度,所以我们可以继续测试另一路信号,即pwm0。在PA2和PE12两处位置都可以设置pwm0,但PA2这个pin已经分给了uart1,所以最终决定还是用PE12来测试pwm0。

1、首先是配置设备树文件

        选择打开suniv-f1c100s.dtsi文件,添加pin引脚信息,其中pins填入PE12,

			pwm0_pin: pwm0_pin {
				pins = "PE12";
				function = "pwm0";
			};

        接着添加pwm0的寄存器、时钟、引脚相关信息,另外compatible不要填错了,

		pwm: pwm@1c21000 
		{
			compatible = "allwinner,sun7i-a20-pwm";
			reg = <0x01C21000 0x04>;
			clocks = <&osc24M>;
			#pwm-cells = <3>;
			pinctrl-names = "default";
			pinctrl-0 = <&pwm0_pin>;
			status = "okay";
		};

你可能感兴趣的:(全志soc嵌入式开发,驱动开发)