linux pwm设备树,设备树使用方法

本文档介绍了三星S5PV210系统级芯片(SoC)的设备树配置文件,详细列举了S5PV210 SoC上的设备节点,并说明了如何在基于S5PV210的开发板文件中引用这些配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

* Samsung's S5PV210 SoC device tree source

*

* Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.

*

* Mateusz Krawczuk

* Tomasz Figa

*

* Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210

* based board files can include this file and provide values for board specfic

* bindings.

*

* Note: This file does not include device nodes for all the controllers in

* S5PV210 SoC. As device tree coverage for S5PV210 increases, additional

* nodes can be added to this file.

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License version 2 as

* published by the Free Software Foundation.

*/

#include "skeleton.dtsi"

#include

#include

/ {

aliases {

csis0 = &csis0;

fimc0 = &fimc0;

fimc1 = &fimc1;

fimc2 = &fimc2;

i2c0 = &i2c0;

i2c1 = &i2c1;

i2c2 = &i2c2;

i2s0 = &i2s0;

i2s1 = &i2s1;

i2s2 = &i2s2;

pinctrl0 = &pinctrl0;

spi0 = &spi0;

spi1 = &spi1;

};

cpus {

#address-cells = <1>;

#size-cells = <0>;

cpu@0 {

device_type = "cpu";

compatible = "arm,cortex-a8";

reg = <0>;

};

};

soc {

compatible = "simple-bus";

#address-cells = <1>;

#size-cells = <1>;

ranges;

external-clocks {

compatible = "simple-bus";

#address-cells = <1>;//地址个数为1

#size-cells = <0>;//length个数为0,即只有地址,没有长度

xxti: oscillator@0 {

compatible = "fixed-clock";

reg = <0>;

clock-frequency = <0>;

clock-output-names = "xxti";

#clock-cells = <0>;

};

xusbxti: oscillator@1 {

compatible = "fixed-clock";

reg = <1>;

clock-frequency = <0>;

clock-output-names = "xusbxti";

#clock-cells = <0>;

};

};

onenand: onenand@b0000000 {

compatible = "samsung,s5pv210-onenand";

reg = <0xb0600000 0x2000>,

<0xb0000000 0x20000>,

<0xb0040000 0x20000>;

interrupt-parent = ;

interrupts = <31>;

clocks = , ;

clock-names = "bus", "onenand";

#address-cells = <1>;

#size-cells = <1>;

status = "disabled";

};

chipid@e0000000 {

compatible = "samsung,s5pv210-chipid";

reg = <0xe0000000 0x1000>;

};

clocks: clock-controller@e0100000 {

compatible = "samsung,s5pv210-clock", "simple-bus";

reg = <0xe0100000 0x10000>;

clock-names = "xxti", "xusbxti";

clocks = , ;

#clock-cells = <1>;

#address-cells = <1>;

#size-cells = <1>;

ranges;

pmu_syscon: syscon@e0108000 {

compatible = "samsung-s5pv210-pmu", "syscon";

reg = <0xe0108000 0x8000>;

};

};

pinctrl0: pinctrl@e0200000 {

compatible = "samsung,s5pv210-pinctrl";

reg = <0xe0200000 0x1000>;

interrupt-parent = ;

interrupts = <30>;

wakeup-interrupt-controller {

compatible = "samsung,exynos4210-wakeup-eint";

interrupts = <16>;

interrupt-parent = ;

};

};

amba {

#address-cells = <1>;

#size-cells = <1>;

compatible = "arm,amba-bus";

ranges;

pdma0: dma@e0900000 {

compatible = "arm,pl330", "arm,primecell";

reg = <0xe0900000 0x1000>;

interrupt-parent = ;

interrupts = <19>;

clocks = ;

clock-names = "apb_pclk";

#dma-cells = <1>;

#dma-channels = <8>;

#dma-requests = <32>;

};

pdma1: dma@e0a00000 {

compatible = "arm,pl330", "arm,primecell";

reg = <0xe0a00000 0x1000>;

interrupt-parent = ;

interrupts = <20>;

clocks = ;

clock-names = "apb_pclk";

#dma-cells = <1>;

#dma-channels = <8>;

#dma-requests = <32>;

};

};

spi0: spi@e1300000 {

compatible = "samsung,s5pv210-spi";

reg = <0xe1300000 0x1000>;

interrupt-parent = ;

interrupts = <15>;

dmas = , ;

dma-names = "tx", "rx";

clocks = , ;

clock-names = "spi", "spi_busclk0";

pinctrl-names = "default";

pinctrl-0 = ;

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

spi1: spi@e1400000 {

compatible = "samsung,s5pv210-spi";

reg = <0xe1400000 0x1000>;

interrupt-parent = ;

interrupts = <16>;

dmas = , ;

dma-names = "tx", "rx";

clocks = , ;

clock-names = "spi", "spi_busclk0";

pinctrl-names = "default";

pinctrl-0 = ;

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

keypad: keypad@e1600000 {

compatible = "samsung,s5pv210-keypad";

reg = <0xe1600000 0x1000>;

interrupt-parent = ;

interrupts = <25>;

clocks = ;

clock-names = "keypad";

status = "disabled";

};

i2c0: i2c@e1800000 {

compatible = "samsung,s3c2440-i2c";

reg = <0xe1800000 0x1000>;

interrupt-parent = ;

interrupts = <14>;

clocks = ;

clock-names = "i2c";

pinctrl-names = "default";

pinctrl-0 = ;

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

i2c2: i2c@e1a00000 {

compatible = "samsung,s3c2440-i2c";

reg = <0xe1a00000 0x1000>;

interrupt-parent = ;

interrupts = <19>;

clocks = ;

clock-names = "i2c";

pinctrl-0 = ;

pinctrl-names = "default";

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

audio-subsystem {

compatible = "samsung,s5pv210-audss", "simple-bus";

#address-cells = <1>;

#size-cells = <1>;

ranges;

clk_audss: clock-controller@eee10000 {

compatible = "samsung,s5pv210-audss-clock";

reg = <0xeee10000 0x1000>;

clock-names = "hclk", "xxti",

"fout_epll",

"sclk_audio0";

clocks = , ,

,

;

#clock-cells = <1>;

};

i2s0: i2s@eee30000 {

compatible = "samsung,s5pv210-i2s";

reg = <0xeee30000 0x1000>;

interrupt-parent = ;

interrupts = <16>;

dma-names = "rx", "tx", "tx-sec";

dmas = , , ;

clock-names = "iis",

"i2s_opclk0",

"i2s_opclk1";

clocks = ,

,

;

samsung,idma-addr = <0xc0010000>;

pinctrl-names = "default";

pinctrl-0 = ;

#sound-dai-cells = <0>;

status = "disabled";

};

};

i2s1: i2s@e2100000 {

compatible = "samsung,s3c6410-i2s";

reg = <0xe2100000 0x1000>;

interrupt-parent = ;

interrupts = <17>;

dma-names = "rx", "tx";

dmas = , ;

clock-names = "iis", "i2s_opclk0";

clocks = , ;

pinctrl-names = "default";

pinctrl-0 = ;

#sound-dai-cells = <0>;

status = "disabled";

};

i2s2: i2s@e2a00000 {

compatible = "samsung,s3c6410-i2s";

reg = <0xe2a00000 0x1000>;

interrupt-parent = ;

interrupts = <18>;

dma-names = "rx", "tx";

dmas = , ;

clock-names = "iis", "i2s_opclk0";

clocks = , ;

pinctrl-names = "default";

pinctrl-0 = ;

#sound-dai-cells = <0>;

status = "disabled";

};

pwm: pwm@e2500000 {

compatible = "samsung,s5pc100-pwm";

reg = <0xe2500000 0x1000>;

interrupt-parent = ;

interrupts = <21>, <22>, <23>, <24>, <25>;

clock-names = "timers";/*clock-names = "timers";*/

clocks = ;

#pwm-cells = <3>;

};

watchdog: watchdog@e2700000 {

compatible = "samsung,s3c2410-wdt";

reg = <0xe2700000 0x1000>;

interrupt-parent = ;

interrupts = <26>;

clock-names = "watchdog";

clocks = ;

};

rtc: rtc@e2800000 {

compatible = "samsung,s3c6410-rtc";

reg = <0xe2800000 0x100>;

interrupt-parent = ;

interrupts = <28>, <29>;

clocks = ;

clock-names = "rtc";

status = "disabled";

};

uart0: serial@e2900000 {

compatible = "samsung,s5pv210-uart";

reg = <0xe2900000 0x400>;

interrupt-parent = ;

interrupts = <10>;

clock-names = "uart", "clk_uart_baud0",

"clk_uart_baud1";

clocks = , ,

;

status = "disabled";

};

uart1: serial@e2900400 {

compatible = "samsung,s5pv210-uart";

reg = <0xe2900400 0x400>;

interrupt-parent = ;

interrupts = <11>;

clock-names = "uart", "clk_uart_baud0",

"clk_uart_baud1";

clocks = , ,

;

status = "disabled";

};

uart2: serial@e2900800 {

compatible = "samsung,s5pv210-uart";

reg = <0xe2900800 0x400>;

interrupt-parent = ;

interrupts = <12>;

clock-names = "uart", "clk_uart_baud0",

"clk_uart_baud1";

clocks = , ,

;

status = "disabled";

};

uart3: serial@e2900c00 {

compatible = "samsung,s5pv210-uart";

reg = <0xe2900c00 0x400>;

interrupt-parent = ;

interrupts = <13>;

clock-names = "uart", "clk_uart_baud0",

"clk_uart_baud1";

clocks = , ,

;

status = "disabled";

};

sdhci0: sdhci@eb000000 {

compatible = "samsung,s3c6410-sdhci";

reg = <0xeb000000 0x100000>;

interrupt-parent = ;

interrupts = <26>;

clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";

clocks = , ,

;

status = "disabled";

};

sdhci1: sdhci@eb100000 {

compatible = "samsung,s3c6410-sdhci";

reg = <0xeb100000 0x100000>;

interrupt-parent = ;

interrupts = <27>;

clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";

clocks = , ,

;

status = "disabled";

};

sdhci2: sdhci@eb200000 {

compatible = "samsung,s3c6410-sdhci";

reg = <0xeb200000 0x100000>;

interrupt-parent = ;

interrupts = <28>;

clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";

clocks = , ,

;

status = "disabled";

};

sdhci3: sdhci@eb300000 {

compatible = "samsung,s3c6410-sdhci";

reg = <0xeb300000 0x100000>;

interrupt-parent = ;

interrupts = <2>;

clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";

clocks = , ,

;

status = "disabled";

};

hsotg: hsotg@ec000000 {

compatible = "samsung,s3c6400-hsotg";

reg = <0xec000000 0x20000>;

interrupt-parent = ;

interrupts = <24>;

clocks = ;

clock-names = "otg";

phy-names = "usb2-phy";

phys = ;

status = "disabled";

};

usbphy: usbphy@ec100000 {

compatible = "samsung,s5pv210-usb2-phy";

reg = <0xec100000 0x100>;

samsung,pmureg-phandle = ;

clocks = , ;

clock-names = "phy", "ref";

#phy-cells = <1>;

status = "disabled";

};

ehci: ehci@ec200000 {

compatible = "samsung,exynos4210-ehci";

reg = <0xec200000 0x100>;

interrupts = <23>;

interrupt-parent = ;

clocks = ;

clock-names = "usbhost";

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

port@0 {

reg = <0>;

phys = ;

};

};

ohci: ohci@ec300000 {

compatible = "samsung,exynos4210-ohci";

reg = <0xec300000 0x100>;

interrupts = <23>;

clocks = ;

clock-names = "usbhost";

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

port@0 {

reg = <0>;

phys = ;

};

};

mfc: codec@f1700000 {

compatible = "samsung,mfc-v5";

reg = <0xf1700000 0x10000>;

interrupt-parent = ;

interrupts = <14>;

clocks = , ;

clock-names = "sclk_mfc", "mfc";

};

vic0: interrupt-controller@f2000000 {

compatible = "arm,pl192-vic";

interrupt-controller;

reg = <0xf2000000 0x1000>;

#interrupt-cells = <1>;

};

vic1: interrupt-controller@f2100000 {

compatible = "arm,pl192-vic";

interrupt-controller;

reg = <0xf2100000 0x1000>;

#interrupt-cells = <1>;

};

vic2: interrupt-controller@f2200000 {

compatible = "arm,pl192-vic";

interrupt-controller;

reg = <0xf2200000 0x1000>;

#interrupt-cells = <1>;

};

vic3: interrupt-controller@f2300000 {

compatible = "arm,pl192-vic";

interrupt-controller;

reg = <0xf2300000 0x1000>;

#interrupt-cells = <1>;

};

fimd: fimd@f8000000 {

compatible = "samsung,exynos4210-fimd";

interrupt-parent = ;

reg = <0xf8000000 0x20000>;

interrupt-names = "fifo", "vsync", "lcd_sys";

interrupts = <0>, <1>, <2>;

clocks = , ;

clock-names = "sclk_fimd", "fimd";

status = "disabled";

};

g2d: g2d@fa000000 {

compatible = "samsung,s5pv210-g2d";

reg = <0xfa000000 0x1000>;

interrupt-parent = ;

interrupts = <9>;

clocks = , ;

clock-names = "sclk_fimg2d", "fimg2d";

};

mdma1: mdma@fa200000 {

compatible = "arm,pl330", "arm,primecell";

reg = <0xfa200000 0x1000>;

interrupt-parent = ;

interrupts = <18>;

clocks = ;

clock-names = "apb_pclk";

#dma-cells = <1>;

#dma-channels = <8>;

#dma-requests = <1>;

};

i2c1: i2c@fab00000 {

compatible = "samsung,s3c2440-i2c";

reg = <0xfab00000 0x1000>;

interrupt-parent = ;

interrupts = <13>;

clocks = ;

clock-names = "i2c";

pinctrl-names = "default";

pinctrl-0 = ;

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

camera: camera {

compatible = "samsung,fimc", "simple-bus";

pinctrl-names = "default";

pinctrl-0 = <>;

clocks = , ;

clock-names = "sclk_cam0", "sclk_cam1";

#address-cells = <1>;

#size-cells = <1>;

ranges;

clock_cam: clock-controller {

#clock-cells = <1>;

};

csis0: csis@fa600000 {

compatible = "samsung,s5pv210-csis";

reg = <0xfa600000 0x4000>;

interrupt-parent = ;

interrupts = <29>;

clocks = ,

;

clock-names = "clk_csis",

"sclk_csis";

bus-width = <4>;

status = "disabled";

#address-cells = <1>;

#size-cells = <0>;

};

fimc0: fimc@fb200000 {

compatible = "samsung,s5pv210-fimc";

reg = <0xfb200000 0x1000>;

interrupts = <5>;

interrupt-parent = ;

clocks = ,

;

clock-names = "fimc",

"sclk_fimc";

samsung,pix-limits = <4224 8192 1920 4224>;

samsung,mainscaler-ext;

samsung,cam-if;

};

fimc1: fimc@fb300000 {

compatible = "samsung,s5pv210-fimc";

reg = <0xfb300000 0x1000>;

interrupt-parent = ;

interrupts = <6>;

clocks = ,

;

clock-names = "fimc",

"sclk_fimc";

samsung,pix-limits = <4224 8192 1920 4224>;

samsung,mainscaler-ext;

samsung,cam-if;

};

fimc2: fimc@fb400000 {

compatible = "samsung,s5pv210-fimc";

reg = <0xfb400000 0x1000>;

interrupt-parent = ;

interrupts = <7>;

clocks = ,

;

clock-names = "fimc",

"sclk_fimc";

samsung,pix-limits = <4224 8192 1920 4224>;

samsung,mainscaler-ext;

samsung,lcd-wb;

};

};

};

};

#include "s5pv210-pinctrl.dtsi"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值