Commit fbc36477 authored by Tony Lindgren's avatar Tony Lindgren

Merge tag 'for_3.13_late/dts_signed' of...

Merge tag 'for_3.13_late/dts_signed' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into omap-for-v3.13/dt

Add i2c aliases
Add McASP and audio support
Add reset/idle on init bindings for OMAP
Add more nodes for AM4272
parents c49f4984 6a968678
...@@ -21,7 +21,8 @@ Required properties: ...@@ -21,7 +21,8 @@ Required properties:
Optional properties: Optional properties:
- ti,no_idle_on_suspend: When present, it prevents the PM to idle the module - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module
during suspend. during suspend.
- ti,no-reset-on-init: When present, the module should not be reset at init
- ti,no-idle-on-init: When present, the module should not be idled at init
Example: Example:
......
...@@ -119,6 +119,19 @@ display-timings { ...@@ -119,6 +119,19 @@ display-timings {
}; };
}; };
}; };
sound {
compatible = "ti,da830-evm-audio";
ti,model = "AM335x-EVM";
ti,audio-codec = <&tlv320aic3106>;
ti,mcasp-controller = <&mcasp1>;
ti,codec-clock-rate = <12000000>;
ti,audio-routing =
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"LINE1L", "Line In",
"LINE1R", "Line In";
};
}; };
&am33xx_pinmux { &am33xx_pinmux {
...@@ -279,6 +292,15 @@ lcd_pins_s0: lcd_pins_s0 { ...@@ -279,6 +292,15 @@ lcd_pins_s0: lcd_pins_s0 {
0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */ 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */
>; >;
}; };
am335x_evm_audio_pins: am335x_evm_audio_pins {
pinctrl-single,pins = <
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rx_dv.mcasp1_aclkx */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_txd3.mcasp1_fsx */
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
>;
};
}; };
&uart0 { &uart0 {
...@@ -373,6 +395,18 @@ tmp275: tmp275@48 { ...@@ -373,6 +395,18 @@ tmp275: tmp275@48 {
compatible = "ti,tmp275"; compatible = "ti,tmp275";
reg = <0x48>; reg = <0x48>;
}; };
tlv320aic3106: tlv320aic3106@1b {
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
status = "okay";
/* Regulators */
AVDD-supply = <&vaux2_reg>;
IOVDD-supply = <&vaux2_reg>;
DRVDD-supply = <&vaux2_reg>;
DVDD-supply = <&vbat>;
};
}; };
&lcdc { &lcdc {
...@@ -476,6 +510,22 @@ partition@7 { ...@@ -476,6 +510,22 @@ partition@7 {
#include "tps65910.dtsi" #include "tps65910.dtsi"
&mcasp1 {
pinctrl-names = "default";
pinctrl-0 = <&am335x_evm_audio_pins>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 4 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 1 2
>;
tx-num-evt = <1>;
rx-num-evt = <1>;
};
&tps { &tps {
vcc1-supply = <&vbat>; vcc1-supply = <&vbat>;
vcc2-supply = <&vbat>; vcc2-supply = <&vbat>;
......
...@@ -115,6 +115,17 @@ backlight { ...@@ -115,6 +115,17 @@ backlight {
brightness-levels = <0 58 61 66 75 90 125 170 255>; brightness-levels = <0 58 61 66 75 90 125 170 255>;
default-brightness-level = <8>; default-brightness-level = <8>;
}; };
sound {
compatible = "ti,da830-evm-audio";
ti,model = "AM335x-EVMSK";
ti,audio-codec = <&tlv320aic3106>;
ti,mcasp-controller = <&mcasp1>;
ti,codec-clock-rate = <24576000>;
ti,audio-routing =
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT";
};
}; };
&am33xx_pinmux { &am33xx_pinmux {
...@@ -244,6 +255,15 @@ davinci_mdio_sleep: davinci_mdio_sleep { ...@@ -244,6 +255,15 @@ davinci_mdio_sleep: davinci_mdio_sleep {
0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
>; >;
}; };
mcasp1_pins: mcasp1_pins {
pinctrl-single,pins = <
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
>;
};
}; };
&uart0 { &uart0 {
...@@ -291,6 +311,18 @@ lis331dlh: lis331dlh@18 { ...@@ -291,6 +311,18 @@ lis331dlh: lis331dlh@18 {
st,max-limit-y = <550>; st,max-limit-y = <550>;
st,max-limit-z = <750>; st,max-limit-z = <750>;
}; };
tlv320aic3106: tlv320aic3106@1b {
compatible = "ti,tlv320aic3106";
reg = <0x1b>;
status = "okay";
/* Regulators */
AVDD-supply = <&vaux2_reg>;
IOVDD-supply = <&vaux2_reg>;
DRVDD-supply = <&vaux2_reg>;
DVDD-supply = <&vbat>;
};
}; };
&usb { &usb {
...@@ -433,3 +465,23 @@ &sham { ...@@ -433,3 +465,23 @@ &sham {
&aes { &aes {
status = "okay"; status = "okay";
}; };
&gpio0 {
ti,no-reset-on-init;
};
&mcasp1 {
pinctrl-names = "default";
pinctrl-0 = <&mcasp1_pins>;
status = "okay";
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 4 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 1 2
>;
tx-num-evt = <1>;
rx-num-evt = <1>;
};
...@@ -44,6 +44,13 @@ vbat: fixedregulator@0 { ...@@ -44,6 +44,13 @@ vbat: fixedregulator@0 {
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-boot-on; regulator-boot-on;
}; };
vmmc: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "vmmc";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
}; };
&am33xx_pinmux { &am33xx_pinmux {
...@@ -180,6 +187,12 @@ tps: tps@2d { ...@@ -180,6 +187,12 @@ tps: tps@2d {
}; };
}; };
&mmc1 {
status = "okay";
vmmc-supply = <&vmmc>;
bus-width = <4>;
};
&uart0 { &uart0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -18,6 +18,9 @@ / { ...@@ -18,6 +18,9 @@ / {
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
aliases { aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
serial0 = &uart0; serial0 = &uart0;
serial1 = &uart1; serial1 = &uart1;
serial2 = &uart2; serial2 = &uart2;
...@@ -674,6 +677,7 @@ wkup_m3: wkup_m3@44d00000 { ...@@ -674,6 +677,7 @@ wkup_m3: wkup_m3@44d00000 {
reg = <0x44d00000 0x4000 /* M3 UMEM */ reg = <0x44d00000 0x4000 /* M3 UMEM */
0x44d80000 0x2000>; /* M3 DMEM */ 0x44d80000 0x2000>; /* M3 DMEM */
ti,hwmods = "wkup_m3"; ti,hwmods = "wkup_m3";
ti,no-reset-on-init;
}; };
elm: elm@48080000 { elm: elm@48080000 {
...@@ -713,6 +717,7 @@ am335x_adc: adc { ...@@ -713,6 +717,7 @@ am335x_adc: adc {
gpmc: gpmc@50000000 { gpmc: gpmc@50000000 {
compatible = "ti,am3352-gpmc"; compatible = "ti,am3352-gpmc";
ti,hwmods = "gpmc"; ti,hwmods = "gpmc";
ti,no-idle-on-init;
reg = <0x50000000 0x2000>; reg = <0x50000000 0x2000>;
interrupts = <100>; interrupts = <100>;
gpmc,num-cs = <7>; gpmc,num-cs = <7>;
...@@ -740,5 +745,33 @@ aes: aes@53500000 { ...@@ -740,5 +745,33 @@ aes: aes@53500000 {
<&edma 5>; <&edma 5>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
mcasp0: mcasp@48038000 {
compatible = "ti,am33xx-mcasp-audio";
ti,hwmods = "mcasp0";
reg = <0x48038000 0x2000>,
<0x46000000 0x400000>;
reg-names = "mpu", "dat";
interrupts = <80>, <81>;
interrupts-names = "tx", "rx";
status = "disabled";
dmas = <&edma 8>,
<&edma 9>;
dma-names = "tx", "rx";
};
mcasp1: mcasp@4803C000 {
compatible = "ti,am33xx-mcasp-audio";
ti,hwmods = "mcasp1";
reg = <0x4803C000 0x2000>,
<0x46400000 0x400000>;
reg-names = "mpu", "dat";
interrupts = <82>, <83>;
interrupts-names = "tx", "rx";
status = "disabled";
dmas = <&edma 10>,
<&edma 11>;
dma-names = "tx", "rx";
};
}; };
}; };
...@@ -18,7 +18,12 @@ / { ...@@ -18,7 +18,12 @@ / {
aliases { aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
serial0 = &uart0; serial0 = &uart0;
ethernet0 = &cpsw_emac0;
ethernet1 = &cpsw_emac1;
}; };
cpus { cpus {
...@@ -39,11 +44,42 @@ gic: interrupt-controller@48241000 { ...@@ -39,11 +44,42 @@ gic: interrupt-controller@48241000 {
<0x48240100 0x0100>; <0x48240100 0x0100>;
}; };
l2-cache-controller@48242000 {
compatible = "arm,pl310-cache";
reg = <0x48242000 0x1000>;
cache-unified;
cache-level = <2>;
};
am43xx_pinmux: pinmux@44e10800 {
compatible = "pinctrl-single";
reg = <0x44e10800 0x31c>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-single,register-width = <32>;
pinctrl-single,function-mask = <0xffffffff>;
};
ocp { ocp {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
ti,hwmods = "l3_main";
edma: edma@49000000 {
compatible = "ti,edma3";
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
reg = <0x49000000 0x10000>,
<0x44e10f90 0x10>;
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
dma-channels = <64>;
ti,edma-regions = <4>;
ti,edma-slots = <256>;
};
uart0: serial@44e09000 { uart0: serial@44e09000 {
compatible = "ti,am4372-uart","ti,omap2-uart"; compatible = "ti,am4372-uart","ti,omap2-uart";
...@@ -92,6 +128,18 @@ uart5: serial@481aa000 { ...@@ -92,6 +128,18 @@ uart5: serial@481aa000 {
status = "disabled"; status = "disabled";
}; };
mailbox: mailbox@480C8000 {
compatible = "ti,omap4-mailbox";
reg = <0x480C8000 0x200>;
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mailbox";
ti,mbox-num-users = <4>;
ti,mbox-num-fifos = <8>;
ti,mbox-names = "wkup_m3";
ti,mbox-data = <0 0 0 0>;
status = "disabled";
};
timer1: timer@44e31000 { timer1: timer@44e31000 {
compatible = "ti,am4372-timer-1ms","ti,am335x-timer-1ms"; compatible = "ti,am4372-timer-1ms","ti,am335x-timer-1ms";
reg = <0x44e31000 0x400>; reg = <0x44e31000 0x400>;
...@@ -203,7 +251,6 @@ wdt@44e35000 { ...@@ -203,7 +251,6 @@ wdt@44e35000 {
reg = <0x44e35000 0x1000>; reg = <0x44e35000 0x1000>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "wd_timer2"; ti,hwmods = "wd_timer2";
status = "disabled";
}; };
gpio0: gpio@44e07000 { gpio0: gpio@44e07000 {
...@@ -318,6 +365,40 @@ spi0: spi@48030000 { ...@@ -318,6 +365,40 @@ spi0: spi@48030000 {
status = "disabled"; status = "disabled";
}; };
mmc1: mmc@48060000 {
compatible = "ti,omap4-hsmmc";
reg = <0x48060000 0x1000>;
ti,hwmods = "mmc1";
ti,dual-volt;
ti,needs-special-reset;
dmas = <&edma 24
&edma 25>;
dma-names = "tx", "rx";
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
mmc2: mmc@481d8000 {
compatible = "ti,omap4-hsmmc";
reg = <0x481d8000 0x1000>;
ti,hwmods = "mmc2";
ti,needs-special-reset;
dmas = <&edma 2
&edma 3>;
dma-names = "tx", "rx";
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
mmc3: mmc@47810000 {
compatible = "ti,omap4-hsmmc";
reg = <0x47810000 0x1000>;
ti,hwmods = "mmc3";
ti,needs-special-reset;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
spi1: spi@481a0000 { spi1: spi@481a0000 {
compatible = "ti,am4372-mcspi","ti,omap4-mcspi"; compatible = "ti,am4372-mcspi","ti,omap4-mcspi";
reg = <0x481a0000 0x400>; reg = <0x481a0000 0x400>;
...@@ -366,50 +447,173 @@ mac: ethernet@4a100000 { ...@@ -366,50 +447,173 @@ mac: ethernet@4a100000 {
GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH
GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <1>;
ti,hwmods = "cpgmac0"; ti,hwmods = "cpgmac0";
status = "disabled"; status = "disabled";
cpdma_channels = <8>;
ale_entries = <1024>;
bd_ram_size = <0x2000>;
no_bd_ram = <0>;
rx_descs = <64>;
mac_control = <0x20>;
slaves = <2>;
active_slave = <0>;
cpts_clock_mult = <0x80000000>;
cpts_clock_shift = <29>;
ranges;
davinci_mdio: mdio@4a101000 {
compatible = "ti,am4372-mdio","ti,davinci_mdio";
reg = <0x4a101000 0x100>;
#address-cells = <1>;
#size-cells = <0>;
ti,hwmods = "davinci_mdio";
bus_freq = <1000000>;
status = "disabled";
};
cpsw_emac0: slave@4a100200 {
/* Filled in by U-Boot */
mac-address = [ 00 00 00 00 00 00 ];
};
cpsw_emac1: slave@4a100300 {
/* Filled in by U-Boot */
mac-address = [ 00 00 00 00 00 00 ];
};
}; };
epwmss0: epwmss@48300000 { epwmss0: epwmss@48300000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x48300000 0x10>; reg = <0x48300000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss0"; ti,hwmods = "epwmss0";
status = "disabled"; status = "disabled";
ecap0: ecap@48300100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap";
reg = <0x48300100 0x80>;
ti,hwmods = "ecap0";
status = "disabled";
};
ehrpwm0: ehrpwm@48300200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x48300200 0x80>;
ti,hwmods = "ehrpwm0";
status = "disabled";
};
}; };
epwmss1: epwmss@48302000 { epwmss1: epwmss@48302000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x48302000 0x10>; reg = <0x48302000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss1"; ti,hwmods = "epwmss1";
status = "disabled"; status = "disabled";
ecap1: ecap@48302100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap";
reg = <0x48302100 0x80>;
ti,hwmods = "ecap1";
status = "disabled";
};
ehrpwm1: ehrpwm@48302200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x48302200 0x80>;
ti,hwmods = "ehrpwm1";
status = "disabled";
};
}; };
epwmss2: epwmss@48304000 { epwmss2: epwmss@48304000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x48304000 0x10>; reg = <0x48304000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss2"; ti,hwmods = "epwmss2";
status = "disabled"; status = "disabled";
ecap2: ecap@48304100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap";
reg = <0x48304100 0x80>;
ti,hwmods = "ecap2";
status = "disabled";
};
ehrpwm2: ehrpwm@48304200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2";
status = "disabled";
};
}; };
epwmss3: epwmss@48306000 { epwmss3: epwmss@48306000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x48306000 0x10>; reg = <0x48306000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss3"; ti,hwmods = "epwmss3";
status = "disabled"; status = "disabled";
ehrpwm3: ehrpwm@48306200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x48306200 0x80>;
ti,hwmods = "ehrpwm3";
status = "disabled";
};
}; };
epwmss4: epwmss@48308000 { epwmss4: epwmss@48308000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x48308000 0x10>; reg = <0x48308000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss4"; ti,hwmods = "epwmss4";
status = "disabled"; status = "disabled";
ehrpwm4: ehrpwm@48308200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x48308200 0x80>;
ti,hwmods = "ehrpwm4";
status = "disabled";
};
}; };
epwmss5: epwmss@4830a000 { epwmss5: epwmss@4830a000 {
compatible = "ti,am4372-pwmss","ti,am33xx-pwmss"; compatible = "ti,am4372-pwmss","ti,am33xx-pwmss";
reg = <0x4830a000 0x10>; reg = <0x4830a000 0x10>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "epwmss5"; ti,hwmods = "epwmss5";
status = "disabled"; status = "disabled";
ehrpwm5: ehrpwm@4830a200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
reg = <0x4830a200 0x80>;
ti,hwmods = "ehrpwm5";
status = "disabled";
};
};
sham: sham@53100000 {
compatible = "ti,omap5-sham";
ti,hwmods = "sham";
reg = <0x53100000 0x300>;
dmas = <&edma 36>;
dma-names = "rx";
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
}; };
aes: aes@53501000 { aes: aes@53501000 {
...@@ -417,6 +621,9 @@ aes: aes@53501000 { ...@@ -417,6 +621,9 @@ aes: aes@53501000 {
ti,hwmods = "aes"; ti,hwmods = "aes";
reg = <0x53501000 0xa0>; reg = <0x53501000 0xa0>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&edma 6
&edma 5>;
dma-names = "tx", "rx";
}; };
des: des@53701000 { des: des@53701000 {
...@@ -424,6 +631,37 @@ des: des@53701000 { ...@@ -424,6 +631,37 @@ des: des@53701000 {
ti,hwmods = "des"; ti,hwmods = "des";
reg = <0x53701000 0xa0>; reg = <0x53701000 0xa0>;
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&edma 34
&edma 33>;
dma-names = "tx", "rx";
};
mcasp0: mcasp@48038000 {
compatible = "ti,am33xx-mcasp-audio";
ti,hwmods = "mcasp0";
reg = <0x48038000 0x2000>,
<0x46000000 0x400000>;
reg-names = "mpu", "dat";
interrupts = <80>, <81>;
interrupts-names = "tx", "rx";
status = "disabled";
dmas = <&edma 8>,
<&edma 9>;
dma-names = "tx", "rx";
};
mcasp1: mcasp@4803C000 {
compatible = "ti,am33xx-mcasp-audio";
ti,hwmods = "mcasp1";
reg = <0x4803C000 0x2000>,
<0x46400000 0x400000>;
reg-names = "mpu", "dat";
interrupts = <82>, <83>;
interrupts-names = "tx", "rx";
status = "disabled";
dmas = <&edma 10>,
<&edma 11>;
dma-names = "tx", "rx";
}; };
}; };
}; };
...@@ -11,8 +11,176 @@ ...@@ -11,8 +11,176 @@
/dts-v1/; /dts-v1/;
#include "am4372.dtsi" #include "am4372.dtsi"
#include <dt-bindings/pinctrl/am43xx.h>
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "TI AM43x EPOS EVM"; model = "TI AM43x EPOS EVM";
compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43"; compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43";
vmmcsd_fixed: fixedregulator-sd {
compatible = "regulator-fixed";
regulator-name = "vmmcsd_fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
};
am43xx_pinmux: pinmux@44e10800 {
cpsw_default: cpsw_default {
pinctrl-single,pins = <
/* Slave 1 */
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs */
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */
0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rmii1_txen */
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxdv.rmii1_rxdv */
0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */
0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk.rmii1_refclk */
>;
};
cpsw_sleep: cpsw_sleep {
pinctrl-single,pins = <
/* Slave 1 reset value */
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
davinci_mdio_default: davinci_mdio_default {
pinctrl-single,pins = <
/* MDIO */
0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
>;
};
davinci_mdio_sleep: davinci_mdio_sleep {
pinctrl-single,pins = <
/* MDIO reset value */
0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
>;
};
};
matrix_keypad: matrix_keypad@0 {
compatible = "gpio-matrix-keypad";
debounce-delay-ms = <5>;
col-scan-delay-us = <2>;
row-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH /* Bank0, pin12 */
&gpio0 13 GPIO_ACTIVE_HIGH /* Bank0, pin13 */
&gpio0 14 GPIO_ACTIVE_HIGH /* Bank0, pin14 */
&gpio0 15 GPIO_ACTIVE_HIGH>; /* Bank0, pin15 */
col-gpios = <&gpio3 9 GPIO_ACTIVE_HIGH /* Bank3, pin9 */
&gpio3 10 GPIO_ACTIVE_HIGH /* Bank3, pin10 */
&gpio2 18 GPIO_ACTIVE_HIGH /* Bank2, pin18 */
&gpio2 19 GPIO_ACTIVE_HIGH>; /* Bank2, pin19 */
linux,keymap = <0x00000201 /* P1 */
0x01000204 /* P4 */
0x02000207 /* P7 */
0x0300020a /* NUMERIC_STAR */
0x00010202 /* P2 */
0x01010205 /* P5 */
0x02010208 /* P8 */
0x03010200 /* P0 */
0x00020203 /* P3 */
0x01020206 /* P6 */
0x02020209 /* P9 */
0x0302020b /* NUMERIC_POUND */
0x00030067 /* UP */
0x0103006a /* RIGHT */
0x0203006c /* DOWN */
0x03030069>; /* LEFT */
};
};
&mmc1 {
status = "okay";
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <4>;
};
&mac {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
status = "okay";
};
&davinci_mdio {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
};
&cpsw_emac0 {
phy_id = <&davinci_mdio>, <16>;
phy-mode = "rmii";
};
&cpsw_emac1 {
phy_id = <&davinci_mdio>, <1>;
phy-mode = "rmii";
};
&i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
at24@50 {
compatible = "at24,24c256";
pagesize = <64>;
reg = <0x50>;
};
pixcir_ts@5c {
compatible = "pixcir,pixcir_ts";
reg = <0x5c>;
interrupt-parent = <&gpio1>;
interrupts = <17 0>;
attb-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
x-size = <1024>;
y-size = <768>;
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
}; };
...@@ -20,6 +20,11 @@ / { ...@@ -20,6 +20,11 @@ / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
aliases { aliases {
i2c0 = &i2c1;
i2c1 = &i2c2;
i2c2 = &i2c3;
i2c3 = &i2c4;
i2c4 = &i2c5;
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart2; serial1 = &uart2;
serial2 = &uart3; serial2 = &uart3;
......
...@@ -173,6 +173,8 @@ &gpio1 { ...@@ -173,6 +173,8 @@ &gpio1 {
&usb_otg_hs { &usb_otg_hs {
interface-type = <0>; interface-type = <0>;
usb-phy = <&usb2_phy>; usb-phy = <&usb2_phy>;
phys = <&usb2_phy>;
phy-names = "usb2-phy";
mode = <3>; mode = <3>;
power = <50>; power = <50>;
}; };
...@@ -131,6 +131,8 @@ &i2c3 { ...@@ -131,6 +131,8 @@ &i2c3 {
&usb_otg_hs { &usb_otg_hs {
interface-type = <0>; interface-type = <0>;
usb-phy = <&usb2_phy>; usb-phy = <&usb2_phy>;
phys = <&usb2_phy>;
phy-names = "usb2-phy";
mode = <3>; mode = <3>;
power = <50>; power = <50>;
}; };
......
...@@ -87,6 +87,8 @@ mipid@2 { ...@@ -87,6 +87,8 @@ mipid@2 {
&usb_otg_hs { &usb_otg_hs {
interface-type = <0>; interface-type = <0>;
usb-phy = <&usb2_phy>; usb-phy = <&usb2_phy>;
phys = <&usb2_phy>;
phy-names = "usb2-phy";
mode = <2>; mode = <2>;
power = <50>; power = <50>;
}; };
...@@ -19,6 +19,9 @@ / { ...@@ -19,6 +19,9 @@ / {
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
aliases { aliases {
i2c0 = &i2c1;
i2c1 = &i2c2;
i2c2 = &i2c3;
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart2; serial1 = &uart2;
serial2 = &uart3; serial2 = &uart3;
......
...@@ -62,3 +62,7 @@ mmc { ...@@ -62,3 +62,7 @@ mmc {
gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
}; };
}; };
&gpio1 {
ti,no-reset-on-init;
};
...@@ -17,6 +17,10 @@ / { ...@@ -17,6 +17,10 @@ / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
aliases { aliases {
i2c0 = &i2c1;
i2c1 = &i2c2;
i2c2 = &i2c3;
i2c3 = &i2c4;
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart2; serial1 = &uart2;
serial2 = &uart3; serial2 = &uart3;
...@@ -214,6 +218,7 @@ gpmc: gpmc@50000000 { ...@@ -214,6 +218,7 @@ gpmc: gpmc@50000000 {
gpmc,num-cs = <8>; gpmc,num-cs = <8>;
gpmc,num-waitpins = <4>; gpmc,num-waitpins = <4>;
ti,hwmods = "gpmc"; ti,hwmods = "gpmc";
ti,no-idle-on-init;
}; };
uart1: serial@4806a000 { uart1: serial@4806a000 {
...@@ -492,6 +497,7 @@ emif1: emif@4c000000 { ...@@ -492,6 +497,7 @@ emif1: emif@4c000000 {
reg = <0x4c000000 0x100>; reg = <0x4c000000 0x100>;
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "emif1"; ti,hwmods = "emif1";
ti,no-idle-on-init;
phy-type = <1>; phy-type = <1>;
hw-caps-read-idle-ctrl; hw-caps-read-idle-ctrl;
hw-caps-ll-interface; hw-caps-ll-interface;
...@@ -503,6 +509,7 @@ emif2: emif@4d000000 { ...@@ -503,6 +509,7 @@ emif2: emif@4d000000 {
reg = <0x4d000000 0x100>; reg = <0x4d000000 0x100>;
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "emif2"; ti,hwmods = "emif2";
ti,no-idle-on-init;
phy-type = <1>; phy-type = <1>;
hw-caps-read-idle-ctrl; hw-caps-read-idle-ctrl;
hw-caps-ll-interface; hw-caps-ll-interface;
......
...@@ -334,8 +334,6 @@ smps10_out1_reg: smps10_out1 { ...@@ -334,8 +334,6 @@ smps10_out1_reg: smps10_out1 {
regulator-name = "smps10_out1"; regulator-name = "smps10_out1";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-always-on;
regulator-boot-on;
}; };
ldo1_reg: ldo1 { ldo1_reg: ldo1 {
......
...@@ -21,6 +21,11 @@ / { ...@@ -21,6 +21,11 @@ / {
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
aliases { aliases {
i2c0 = &i2c1;
i2c1 = &i2c2;
i2c2 = &i2c3;
i2c3 = &i2c4;
i2c4 = &i2c5;
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart2; serial1 = &uart2;
serial2 = &uart3; serial2 = &uart3;
...@@ -52,7 +57,6 @@ timer { ...@@ -52,7 +57,6 @@ timer {
<GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 11 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>;
clock-frequency = <6144000>;
}; };
gic: interrupt-controller@48211000 { gic: interrupt-controller@48211000 {
...@@ -607,6 +611,7 @@ wdt2: wdt@4ae14000 { ...@@ -607,6 +611,7 @@ wdt2: wdt@4ae14000 {
emif1: emif@4c000000 { emif1: emif@4c000000 {
compatible = "ti,emif-4d5"; compatible = "ti,emif-4d5";
ti,hwmods = "emif1"; ti,hwmods = "emif1";
ti,no-idle-on-init;
phy-type = <2>; /* DDR PHY type: Intelli PHY */ phy-type = <2>; /* DDR PHY type: Intelli PHY */
reg = <0x4c000000 0x400>; reg = <0x4c000000 0x400>;
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
...@@ -618,6 +623,7 @@ emif1: emif@4c000000 { ...@@ -618,6 +623,7 @@ emif1: emif@4c000000 {
emif2: emif@4d000000 { emif2: emif@4d000000 {
compatible = "ti,emif-4d5"; compatible = "ti,emif-4d5";
ti,hwmods = "emif2"; ti,hwmods = "emif2";
ti,no-idle-on-init;
phy-type = <2>; /* DDR PHY type: Intelli PHY */ phy-type = <2>; /* DDR PHY type: Intelli PHY */
reg = <0x4d000000 0x400>; reg = <0x4d000000 0x400>;
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
...@@ -648,6 +654,7 @@ dwc3@4a030000 { ...@@ -648,6 +654,7 @@ dwc3@4a030000 {
reg = <0x4a030000 0x10000>; reg = <0x4a030000 0x10000>;
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
usb-phy = <&usb2_phy>, <&usb3_phy>; usb-phy = <&usb2_phy>, <&usb3_phy>;
dr_mode = "peripheral";
tx-fifo-resize; tx-fifo-resize;
}; };
}; };
......
/*
* This header provides constants specific to AM43XX pinctrl bindings.
*/
#ifndef _DT_BINDINGS_PINCTRL_AM43XX_H
#define _DT_BINDINGS_PINCTRL_AM43XX_H
#define MUX_MODE0 0
#define MUX_MODE1 1
#define MUX_MODE2 2
#define MUX_MODE3 3
#define MUX_MODE4 4
#define MUX_MODE5 5
#define MUX_MODE6 6
#define MUX_MODE7 7
#define PULL_DISABLE (1 << 16)
#define PULL_UP (1 << 17)
#define INPUT_EN (1 << 18)
#define SLEWCTRL_FAST (1 << 19)
#define DS0_PULL_UP_DOWN_EN (1 << 27)
#define PIN_OUTPUT (PULL_DISABLE)
#define PIN_OUTPUT_PULLUP (PULL_UP)
#define PIN_OUTPUT_PULLDOWN 0
#define PIN_INPUT (INPUT_EN | PULL_DISABLE)
#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP)
#define PIN_INPUT_PULLDOWN (INPUT_EN)
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment