Commit 28544e61 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'at91-4.20-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into next/dt

AT91 DT for 4.20

 - warning fiwes from Rob
 - many updates for the axentia boards
 - ADC, I2S and touch screen support for sama5d2

* tag 'at91-4.20-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm: dts: sama5d2: Update coresight bindings for hardware ports
  ARM: dts: at91: sama5d27_som1_ek: add adc regulators
  ARM: dts: atmel: Fix I2C and SPI bus warnings
  ARM: dts: at91: sama5d4: add labels to soc dtsi for derivative boards
  ARM: dts: at91: tse850: drop three indentation levels
  ARM: dts: at91: nattis: drop three indentation levels
  ARM: dts: at91: nattis: describe the lvds panel
  ARM: dts: at91: nattis: move pinctrls for the lvds chip to the lvds node
  ARM: dts: at91: nattis: state the actual lvds-encoder chip
  ARM: dts: at91: nattis: make the SD-card slot work
  ARM: dts: at91: nattis: set the PRLUD and HIPOW signals low
  ARM: dts: at91/trivial: remove old NAND bindings leftover in sama5d2
  ARM: dts: at91/trivial: Fix USART1 definition for at91sam9g45
  ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S
  ARM: dts: at91: sama5d2: add nodes for I2S controllers
  ARM: dts: at91: sama5d2: add I2S clock muxing nodes
  ARM: dts: at91: sama5d2: Add resistive touch device
  ARM: dts: at91: sama5d2: add channel cells for ADC device
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 74cf77e8 97181516
......@@ -70,9 +70,9 @@ wm8904: wm8904@1a {
&i2c1 {
status = "okay";
eeprom@87 {
eeprom@57 {
compatible = "giantec,gt24c32a", "atmel,24c32";
reg = <87>;
reg = <0x57>;
pagesize = <32>;
};
};
......
......@@ -59,9 +59,9 @@ pinctrl_lcd_ctp_int: lcd_ctp_int {
&i2c1 {
status = "okay";
ft5426@56 {
ft5426@38 {
compatible = "focaltech,ft5426", "edt,edt-ft5406";
reg = <56>;
reg = <0x38>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_ctp_int>;
......
......@@ -16,46 +16,6 @@ / {
compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
"atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
ahb {
apb {
pinctrl@fffff200 {
nattis {
pinctrl_usba_vbus: usba_vbus {
atmel,pins =
<AT91_PIOD 28
AT91_PERIPH_GPIO
AT91_PINCTRL_DEGLITCH>;
};
pinctrl_mmc0_cd: mmc0_cd {
atmel,pins =
<AT91_PIOD 5
AT91_PERIPH_GPIO
AT91_PINCTRL_PULL_UP_DEGLITCH>;
};
pinctrl_lcd_prlud0: lcd_prlud0 {
atmel,pins =
<AT91_PIOA 21
AT91_PERIPH_GPIO
AT91_PINCTRL_OUTPUT_VAL(0)>;
};
pinctrl_lcd_hipow0: lcd_hipow0 {
atmel,pins =
<AT91_PIOA 23
AT91_PERIPH_GPIO
AT91_PINCTRL_OUTPUT_VAL(0)>;
};
};
};
watchdog@fffffe40 {
status = "okay";
};
};
};
gpio-keys {
compatible = "gpio-keys";
......@@ -103,10 +63,29 @@ panel_bl: backlight {
};
panel: panel {
compatible = "sharp,lq150x1lg11";
compatible = "sharp,lq150x1lg11", "panel-lvds";
backlight = <&panel_bl>;
power-supply = <&panel_reg>;
width-mm = <304>;
height-mm = <228>;
data-mapping = "jeida-18";
panel-timing {
// 1024x768 @ 60Hz (typical)
clock-frequency = <50000000 65000000 80000000>;
hactive = <1024>;
vactive = <768>;
hfront-porch = <48 88 88>;
hback-porch = <96 168 168>;
hsync-len = <32 64 64>;
vsync-len = <3 13 74>;
vfront-porch = <3 13 74>;
vback-porch = <3 12 74>;
};
port {
panel_input: endpoint {
remote-endpoint = <&lvds_encoder_output>;
......@@ -115,7 +94,10 @@ panel_input: endpoint {
};
lvds-encoder {
compatible = "lvds-encoder";
compatible = "ti,ds90c185", "lvds-encoder";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>;
ports {
#address-cells = <1>;
......@@ -159,6 +141,36 @@ simple-audio-card,codec {
};
};
&pinctrl {
nattis {
pinctrl_usba_vbus: usba_vbus {
atmel,pins = <AT91_PIOD 28 AT91_PERIPH_GPIO
AT91_PINCTRL_DEGLITCH>;
};
pinctrl_mmc0_cd: mmc0_cd {
atmel,pins = <AT91_PIOD 5 AT91_PERIPH_GPIO
AT91_PINCTRL_PULL_UP_DEGLITCH>;
};
pinctrl_lvds_prlud0: lvds_prlud0 {
atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO
(AT91_PINCTRL_OUTPUT |
AT91_PINCTRL_OUTPUT_VAL(0))>;
};
pinctrl_lvds_hipow0: lvds_hipow0 {
atmel,pins = <AT91_PIOA 23 AT91_PERIPH_GPIO
(AT91_PINCTRL_OUTPUT |
AT91_PINCTRL_OUTPUT_VAL(0))>;
};
};
};
&watchdog {
status = "okay";
};
&i2c0 {
status = "okay";
......@@ -195,14 +207,12 @@ &hlcdc {
hlcdc-display-controller {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_base
&pinctrl_lcd_rgb565
&pinctrl_lcd_prlud0
&pinctrl_lcd_hipow0>;
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
port@0 {
hlcdc_output: endpoint {
remote-endpoint = <&lvds_encoder_input>;
bus-width = <16>;
};
};
};
......@@ -219,6 +229,7 @@ slot@0 {
reg = <0>;
bus-width = <4>;
cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
cd-inverted;
};
};
......
......@@ -283,6 +283,13 @@ i2c1: i2c@fc028000 {
status = "okay";
};
adc: adc@fc030000 {
vddana-supply = <&vddana>;
vref-supply = <&advref>;
status = "disabled";
};
pinctrl@fc038000 {
pinctrl_can1_default: can1_default {
......@@ -549,4 +556,39 @@ blue {
linux,default-trigger = "heartbeat";
};
};
vddin_3v3: fixed-regulator-vddin_3v3 {
compatible = "regulator-fixed";
regulator-name = "VDDIN_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
status = "okay";
};
vddana: fixed-regulator-vddana {
compatible = "regulator-fixed";
regulator-name = "VDDANA";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vddin_3v3>;
status = "okay";
};
advref: fixed-regulator-advref {
compatible = "regulator-fixed";
regulator-name = "advref";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vddana>;
status = "okay";
};
};
......@@ -281,6 +281,12 @@ watchdog@f8048040 {
status = "okay";
};
i2s0: i2s@f8050000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s0_default>;
status = "disabled"; /* conflict with can0 */
};
can0: can@f8054000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can0_default>;
......@@ -424,6 +430,24 @@ pinctrl_i2c1_default: i2c1_default {
bias-disable;
};
pinctrl_i2s0_default: i2s0_default {
pinmux = <PIN_PC1__I2SC0_CK>,
<PIN_PC2__I2SC0_MCK>,
<PIN_PC3__I2SC0_WS>,
<PIN_PC4__I2SC0_DI0>,
<PIN_PC5__I2SC0_DO0>;
bias-disable;
};
pinctrl_i2s1_default: i2s1_default {
pinmux = <PIN_PA15__I2SC1_CK>,
<PIN_PA14__I2SC1_MCK>,
<PIN_PA16__I2SC1_WS>,
<PIN_PA17__I2SC1_DI0>,
<PIN_PA18__I2SC1_DO0>;
bias-disable;
};
pinctrl_key_gpio_default: key_gpio_default {
pinmux = <PIN_PB9__GPIO>;
bias-pull-up;
......@@ -546,6 +570,12 @@ classd: classd@fc048000 {
status = "okay";
};
i2s1: i2s@fc04c000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s1_default>;
status = "disabled"; /* conflict with spi0, sdmmc1 */
};
can1: can@fc050000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can1_default>;
......
......@@ -16,25 +16,6 @@ / {
compatible = "axentia,tse850v3", "axentia,linea",
"atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
ahb {
apb {
pinctrl@fffff200 {
tse850 {
pinctrl_usba_vbus: usba-vbus {
atmel,pins =
<AT91_PIOC 31
AT91_PERIPH_GPIO
AT91_PINCTRL_DEGLITCH>;
};
};
};
watchdog@fffffe40 {
status = "okay";
};
};
};
sck: oscillator {
compatible = "fixed-clock";
......@@ -253,6 +234,19 @@ eeprom@50 {
};
};
&pinctrl {
tse850 {
pinctrl_usba_vbus: usba-vbus {
atmel,pins = <AT91_PIOC 31 AT91_PERIPH_GPIO
AT91_PINCTRL_DEGLITCH>;
};
};
};
&watchdog {
status = "okay";
};
&usart0 {
status = "okay";
......
......@@ -128,7 +128,7 @@ ethernet-phy@1 {
i2c2: i2c@f8024000 {
status = "okay";
rtc1: rtc@64 {
rtc1: rtc@32 {
compatible = "epson,rx8900";
reg = <0x32>;
};
......
......@@ -127,7 +127,7 @@ macb0: ethernet@fffc4000 {
spi0: spi@fffc8000 {
cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
mtd_dataflash@0 {
mtd_dataflash@1 {
compatible = "atmel,at45", "atmel,dataflash";
spi-max-frequency = <50000000>;
reg = <1>;
......
......@@ -160,7 +160,7 @@ mtd_dataflash@0 {
spi-max-frequency = <15000000>;
};
tsc2046@0 {
tsc2046@2 {
reg = <2>;
compatible = "ti,ads7843";
interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
......
......@@ -109,7 +109,7 @@ ssc0: ssc@fffbc000 {
spi0: spi@fffc8000 {
cs-gpios = <0>, <&pioC 11 0>, <0>, <0>;
mtd_dataflash@0 {
mtd_dataflash@1 {
compatible = "atmel,at45", "atmel,dataflash";
spi-max-frequency = <50000000>;
reg = <1>;
......
......@@ -570,7 +570,7 @@ pinctrl_usart0_cts: usart0_cts-0 {
};
};
uart1 {
usart1 {
pinctrl_usart1: usart1-0 {
atmel,pins =
<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
......
......@@ -47,6 +47,7 @@
#include <dt-bindings/dma/at91.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/at91.h>
#include <dt-bindings/iio/adc/at91-sama5d2_adc.h>
/ {
model = "Atmel SAMA5D2 family SoC";
......@@ -58,6 +59,8 @@ aliases {
serial1 = &uart3;
tcb0 = &tcb0;
tcb1 = &tcb1;
i2s0 = &i2s0;
i2s1 = &i2s1;
};
cpus {
......@@ -84,13 +87,14 @@ etb {
clocks = <&mck>;
clock-names = "apb_pclk";
in-ports {
port {
etb_in: endpoint {
slave-mode;
remote-endpoint = <&etm_out>;
};
};
};
};
etm {
compatible = "arm,coresight-etm3x", "arm,primecell";
......@@ -99,12 +103,14 @@ etm {
clocks = <&mck>;
clock-names = "apb_pclk";
out-ports {
port {
etm_out: endpoint {
remote-endpoint = <&etb_in>;
};
};
};
};
memory {
reg = <0x20000000 0x20000000>;
......@@ -323,44 +329,6 @@ nand_controller: nand-controller {
};
};
nand0: nand@80000000 {
compatible = "atmel,sama5d2-nand";
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = < /* EBI CS3 */
0x80000000 0x08000000
/* SMC PMECC regs */
0xf8014070 0x00000490
/* SMC PMECC Error Location regs */
0xf8014500 0x00000200
/* ROM Galois tables */
0x00040000 0x00018000
>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
atmel,nand-addr-offset = <21>;
atmel,nand-cmd-offset = <22>;
atmel,nand-has-dma;
atmel,has-pmecc;
atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
status = "disabled";
nfc@c0000000 {
compatible = "atmel,sama5d3-nfc";
#address-cells = <1>;
#size-cells = <1>;
reg = < /* NFC Command Registers */
0xc0000000 0x08000000
/* NFC HSMC regs */
0xf8014000 0x00000070
/* NFC SRAM banks */
0x00100000 0x00100000
>;
clocks = <&hsmc_clk>;
atmel,write-by-sram;
};
};
sdmmc0: sdio-host@a0000000 {
compatible = "atmel,sama5d2-sdhci";
reg = <0xa0000000 0x300>;
......@@ -992,6 +960,24 @@ classd_gclk: classd_gclk {
atmel,clk-output-range = <0 100000000>;
};
};
i2s_clkmux {
compatible = "atmel,sama5d2-clk-i2s-mux";
#address-cells = <1>;
#size-cells = <0>;
i2s0muxck: i2s0_muxclk {
clocks = <&i2s0_clk>, <&i2s0_gclk>;
#clock-cells = <0>;
reg = <0>;
};
i2s1muxck: i2s1_muxclk {
clocks = <&i2s1_clk>, <&i2s1_gclk>;
#clock-cells = <0>;
reg = <1>;
};
};
};
qspi0: spi@f0020000 {
......@@ -1295,6 +1281,24 @@ rtc@f80480b0 {
clocks = <&clk32k>;
};
i2s0: i2s@f8050000 {
compatible = "atmel,sama5d2-i2s";
reg = <0xf8050000 0x100>;
interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(31))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(32))>;
dma-names = "tx", "rx";
clocks = <&i2s0_clk>, <&i2s0_gclk>;
clock-names = "pclk", "gclk";
assigned-clocks = <&i2s0muxck>;
assigned-clock-parents = <&i2s0_gclk>;
status = "disabled";
};
can0: can@f8054000 {
compatible = "bosch,m_can";
reg = <0xf8054000 0x4000>, <0x210000 0x4000>;
......@@ -1437,6 +1441,17 @@ adc: adc@fc030000 {
atmel,max-sample-rate-hz = <20000000>;
atmel,startup-time-ms = <4>;
atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
#io-channel-cells = <1>;
status = "disabled";
};
resistive_touch: resistive-touch {
compatible = "resistive-adc-touch";
io-channels = <&adc AT91_SAMA5D2_ADC_X_CHANNEL>,
<&adc AT91_SAMA5D2_ADC_Y_CHANNEL>,
<&adc AT91_SAMA5D2_ADC_P_CHANNEL>;
io-channel-names = "x", "y", "pressure";
touchscreen-min-pressure = <50000>;
status = "disabled";
};
......@@ -1488,6 +1503,24 @@ classd: classd@fc048000 {
status = "disabled";
};
i2s1: i2s@fc04c000 {
compatible = "atmel,sama5d2-i2s";
reg = <0xfc04c000 0x100>;
interrupts = <55 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(33))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(34))>;
dma-names = "tx", "rx";
clocks = <&i2s1_clk>, <&i2s1_gclk>;
clock-names = "pclk", "gclk";
assigned-clocks = <&i2s1muxck>;
assigned-parrents = <&i2s1_gclk>;
status = "disabled";
};
can1: can@fc050000 {
compatible = "bosch,m_can";
reg = <0xfc050000 0x4000>, <0x210000 0x4000>;
......
......@@ -1323,13 +1323,13 @@ pmecc: ecc-engine@ffffc070 {
};
};
rstc@fc068600 {
reset_controller: rstc@fc068600 {
compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc";
reg = <0xfc068600 0x10>;
clocks = <&clk32k>;
};
shdwc@fc068610 {
shutdown_controller: shdwc@fc068610 {
compatible = "atmel,at91sam9x5-shdwc";
reg = <0xfc068610 0x10>;
clocks = <&clk32k>;
......@@ -1342,7 +1342,7 @@ pit: timer@fc068630 {
clocks = <&h32ck>;
};
watchdog@fc068640 {
watchdog: watchdog@fc068640 {
compatible = "atmel,sama5d4-wdt";
reg = <0xfc068640 0x10>;
interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
......@@ -1376,7 +1376,7 @@ dbgu: serial@fc069000 {
};
pinctrl@fc06a000 {
pinctrl: pinctrl@fc06a000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
......
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