// SPDX-License-Identifier: GPL-2.0+
/*
* at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
*
* Copyright (C) 2017 Axentia Technologies AB
*
* Author: Peter Rosin <peda@axentia.se>
*/
/dts-v1/;
#include "at91-linea.dtsi"
#include "at91-natte.dtsi"
/ {
model = "Axentia Linea-Nattis v2 Natte v2";
compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
"atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
gpio-keys {
compatible = "gpio-keys";
wakeup {
label = "Wakeup";
linux,code = <10>;
wakeup-source;
gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
};
};
panel_reg: panel-regulator {
compatible = "regulator-fixed";
regulator-name = "panel-VCC";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
bl_reg: backlight-regulator {
compatible = "regulator-fixed";
regulator-name = "panel-VDD";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
};
panel_bl: backlight {
compatible = "pwm-backlight";
pwms = <&hlcdc_pwm 0 100000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <40>;
power-supply = <&bl_reg>;
enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_blon>;
};
panel: panel {
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>;
};
};
};
lvds-encoder {
compatible = "ti,ds90c185", "lvds-encoder";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_encoder_input: endpoint {
remote-endpoint = <&hlcdc_output>;
};
};
port@1 {
reg = <1>;
lvds_encoder_output: endpoint {
remote-endpoint = <&panel_input>;
};
};
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "nattis-tfa9879";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&cpu_dai>;
simple-audio-card,frame-master = <&cpu_dai>;
simple-audio-card,widgets = "Line", "Line Out Jack";
simple-audio-card,routing = "Line Out Jack", "LINEOUT";
cpu_dai: simple-audio-card,cpu {
sound-dai = <&ssc0>;
};
simple-audio-card,codec {
sound-dai = <&>;
};
};
};
&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))>;
};
pinctrl_blon: blon {
atmel,pins = <AT91_PIOA 20 AT91_PERIPH_GPIO
(AT91_PINCTRL_OUTPUT |
AT91_PINCTRL_OUTPUT_VAL(0))>;
};
};
};
&watchdog {
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <100000>;
temp@18 {
compatible = "nxp,se97b", "jedec,jc-42.4-temp";
reg = <0x18>;
smbus-timeout-disable;
};
eeprom@50 {
compatible = "nxp,se97b", "atmel,24c02";
reg = <0x50>;
pagesize = <16>;
};
amp: amplifier@6c {
compatible = "nxp,tfa9879";
reg = <0x6c>;
#sound-dai-cells = <0>;
};
};
&ssc0 {
status = "okay";
atmel,clk-from-rk-pin;
#sound-dai-cells = <0>;
};
&hlcdc {
status = "okay";
hlcdc-display-controller {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
port@0 {
hlcdc_output: endpoint {
remote-endpoint = <&lvds_encoder_input>;
bus-width = <16>;
};
};
};
};
&mmc0 {
status = "okay";
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
&pinctrl_mmc0_dat1_3
&pinctrl_mmc0_cd>;
slot@0 {
reg = <0>;
bus-width = <4>;
cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
cd-inverted;
};
};
&usart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usart0>;
atmel,use-dma-rx;
};
&nand {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
at91bootstrap@0 {
label = "at91bootstrap";
reg = <0x0 0x40000>;
};
barebox@40000 {
label = "barebox";
reg = <0x40000 0x60000>;
};
bareboxenv@c0000 {
label = "bareboxenv";
reg = <0xc0000 0x40000>;
};
bareboxenv2@100000 {
label = "bareboxenv2";
reg = <0x100000 0x40000>;
};
oftree@180000 {
label = "oftree";
reg = <0x180000 0x20000>;
};
kernel@200000 {
label = "kernel";
reg = <0x200000 0x500000>;
};
rootfs@800000 {
label = "rootfs";
reg = <0x800000 0x1f800000>;
};
};
};
&dbgu {
status = "okay";
atmel,use-dma-rx;
};
&usb0 {
status = "okay";
atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usba_vbus>;
};