mirror of
https://github.com/torvalds/linux.git
synced 2024-12-13 14:43:03 +00:00
ARM: dts: add support for Laird SOM60 module and DVK boards
This adds support for Lairds upcoming SOM module, featuring Marvell WiFi and Bluetooth, 2Gb NAND / 1Gb LPDDR SDRAM, and an Atmel SAMA5D3 CPU. Signed-off-by: Ben Whitten <ben.whitten@lairdtech.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
fd2c7ef943
commit
ef8375bea2
@ -51,6 +51,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
at91-sama5d2_ptc_ek.dtb \
|
||||
at91-sama5d2_xplained.dtb \
|
||||
at91-sama5d3_xplained.dtb \
|
||||
at91-dvk_som60.dtb \
|
||||
at91-gatwick.dtb \
|
||||
at91-tse850-3.dtb \
|
||||
at91-wb50n.dtb \
|
||||
|
95
arch/arm/boot/dts/at91-dvk_som60.dts
Normal file
95
arch/arm/boot/dts/at91-dvk_som60.dts
Normal file
@ -0,0 +1,95 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* at91-dvk_som60.dts - Device Tree file for the DVK SOM60 board
|
||||
*
|
||||
* Copyright (C) 2018 Laird,
|
||||
* 2018 Ben Whitten <ben.whitten@lairdtech.com>
|
||||
*
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "at91-som60.dtsi"
|
||||
#include "at91-dvk_su60_somc.dtsi"
|
||||
#include "at91-dvk_su60_somc_lcm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Laird DVK SOM60";
|
||||
compatible = "laird,dvk-som60", "laird,som60", "atmel,sama5d36", "atmel,sama5d3", "atmel,sama5";
|
||||
|
||||
chosen {
|
||||
stdout-path = &dbgu;
|
||||
tick-timer = &pit;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ssc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dbgu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pit {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&adc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&macb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&macb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
159
arch/arm/boot/dts/at91-dvk_su60_somc.dtsi
Normal file
159
arch/arm/boot/dts/at91-dvk_su60_somc.dtsi
Normal file
@ -0,0 +1,159 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* at91-dvk_su60_somc.dtsi - Device Tree file for the DVK SOM60 base board
|
||||
*
|
||||
* Copyright (C) 2018 Laird,
|
||||
* 2018 Ben Whitten <ben.whitten@lairdtech.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/ {
|
||||
sound {
|
||||
compatible = "atmel,asoc-wm8904";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pck2_as_audio_mck>;
|
||||
|
||||
atmel,model = "wm8904 @ DVK-SOM60";
|
||||
atmel,audio-routing =
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"IN2L", "Line In Jack",
|
||||
"IN2R", "Line In Jack",
|
||||
"Mic", "MICBIAS",
|
||||
"IN1L", "Mic";
|
||||
|
||||
atmel,ssc-controller = <&ssc0>;
|
||||
atmel,audio-codec = <&wm8904>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
|
||||
slot@0 {
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
|
||||
cd-inverted;
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
/* spi0.0: 4M Flash Macronix MX25R4035FM1IL0 */
|
||||
spi-flash@0 {
|
||||
compatible = "mxicy,mx25u4035", "jedec,spi-nor";
|
||||
spi-max-frequency = <33000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&ssc0 {
|
||||
atmel,clk-from-rk-pin;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
wm8904: wm8904@1a {
|
||||
compatible = "wlf,wm8904";
|
||||
reg = <0x1a>;
|
||||
clocks = <&pck2>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
eeprom@87 {
|
||||
compatible = "giantec,gt24c32a", "atmel,24c32";
|
||||
reg = <87>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dbgu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pit {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&adc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&macb0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy@7 {
|
||||
reg = <7>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_geth_int>;
|
||||
interrupt-parent = <&pioB>;
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
txen-skew-ps = <800>;
|
||||
txc-skew-ps = <3000>;
|
||||
rxdv-skew-ps = <400>;
|
||||
rxc-skew-ps = <3000>;
|
||||
rxd0-skew-ps = <400>;
|
||||
rxd1-skew-ps = <400>;
|
||||
rxd2-skew-ps = <400>;
|
||||
rxd3-skew-ps = <400>;
|
||||
};
|
||||
};
|
||||
|
||||
&macb1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_eth_int>;
|
||||
interrupt-parent = <&pioC>;
|
||||
interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
90
arch/arm/boot/dts/at91-dvk_su60_somc_lcm.dtsi
Normal file
90
arch/arm/boot/dts/at91-dvk_su60_somc_lcm.dtsi
Normal file
@ -0,0 +1,90 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* at91-dvk_su60_somc_lcm.dtsi - Device Tree file for the DVK SOM60 LCD board
|
||||
*
|
||||
* Copyright (C) 2018 Laird,
|
||||
* 2018 Ben Whitten <ben.whitten@lairdtech.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/ {
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&hlcdc_pwm 0 50000 0>;
|
||||
brightness-levels = <0 4 8 16 32 64 128 255>;
|
||||
default-brightness-level = <6>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
panel: panel {
|
||||
compatible = "winstar,wf70gtiagdng0", "innolux,at070tn92", "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <&vcc_lcd_reg>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
panel_input: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&hlcdc_panel_output>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vcc_lcd_reg: fixedregulator_lcd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC LCM";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
board {
|
||||
pinctrl_lcd_ctp_int: lcd_ctp_int {
|
||||
atmel,pins =
|
||||
<AT91_PIOC 28 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
ft5426@56 {
|
||||
compatible = "focaltech,ft5426", "edt,edt-ft5406";
|
||||
reg = <56>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd_ctp_int>;
|
||||
|
||||
interrupt-parent = <&pioC>;
|
||||
interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <480>;
|
||||
};
|
||||
};
|
||||
|
||||
&hlcdc {
|
||||
status = "okay";
|
||||
|
||||
hlcdc-display-controller {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
|
||||
|
||||
port@0 {
|
||||
hlcdc_panel_output: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&panel_input>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
230
arch/arm/boot/dts/at91-som60.dtsi
Normal file
230
arch/arm/boot/dts/at91-som60.dtsi
Normal file
@ -0,0 +1,230 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* at91-som60.dtsi - Device Tree file for the SOM60 module
|
||||
*
|
||||
* Copyright (C) 2018 Laird,
|
||||
* 2018 Ben Whitten <ben.whitten@lairdtech.com>
|
||||
*
|
||||
*/
|
||||
#include "sama5d36.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Laird SOM60";
|
||||
compatible = "laird,som60", "atmel,sama5d36", "atmel,sama5d3", "atmel,sama5";
|
||||
|
||||
chosen {
|
||||
stdout-path = &dbgu;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x20000000 0x8000000>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
slow_xtal {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
main_xtal {
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
board {
|
||||
pinctrl_mmc0_cd: mmc0_cd {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
|
||||
};
|
||||
|
||||
pinctrl_mmc0_en: mmc0_en {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
};
|
||||
|
||||
pinctrl_nand0_wp: nand0_wp {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
|
||||
};
|
||||
|
||||
pinctrl_usb_vbus: usb_vbus {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
/* Conflicts with USART2_SCK */
|
||||
};
|
||||
|
||||
pinctrl_usart2_sck: usart2_sck {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||
/* Conflicts with USB_VBUS */
|
||||
};
|
||||
|
||||
pinctrl_usb_oc: usb_oc {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
|
||||
/* Conflicts with USART3_SCK */
|
||||
};
|
||||
|
||||
pinctrl_usart3_sck: usart3_sck {
|
||||
atmel,pins =
|
||||
<AT91_PIOE 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||
/* Conflicts with USB_OC */
|
||||
};
|
||||
|
||||
pinctrl_usba_vbus: usba_vbus {
|
||||
atmel,pins =
|
||||
<AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
|
||||
};
|
||||
|
||||
pinctrl_geth_int: geth_int {
|
||||
atmel,pins =
|
||||
<AT91_PIOB 25 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
|
||||
/* Conflicts with USART1_SCK */
|
||||
};
|
||||
|
||||
pinctrl_usart1_sck: usart1_sck {
|
||||
atmel,pins =
|
||||
<AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||||
/* Conflicts with GETH_INT */
|
||||
};
|
||||
|
||||
pinctrl_eth_int: eth_int {
|
||||
atmel,pins =
|
||||
<AT91_PIOC 10 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
|
||||
};
|
||||
|
||||
pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
|
||||
atmel,pins =
|
||||
<AT91_PIOC 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
slot@0 {
|
||||
reg = <0>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
slot@0 {
|
||||
reg = <0>;
|
||||
bus-width = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
cs-gpios = <&pioD 13 0>, <0>, <0>, <0>;
|
||||
};
|
||||
|
||||
&usart0 {
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "okay";
|
||||
pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts_cts>;
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
|
||||
};
|
||||
|
||||
&usart2 {
|
||||
pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts_cts>;
|
||||
};
|
||||
|
||||
&usart3 {
|
||||
pinctrl-0 = <&pinctrl_usart3 &pinctrl_usart3_rts_cts>;
|
||||
};
|
||||
|
||||
&adc0 {
|
||||
pinctrl-0 = <
|
||||
&pinctrl_adc0_adtrg
|
||||
&pinctrl_adc0_ad0
|
||||
&pinctrl_adc0_ad1
|
||||
&pinctrl_adc0_ad2
|
||||
&pinctrl_adc0_ad3
|
||||
&pinctrl_adc0_ad4
|
||||
&pinctrl_adc0_ad5
|
||||
>;
|
||||
};
|
||||
|
||||
&macb0 {
|
||||
phy-mode = "rgmii";
|
||||
};
|
||||
|
||||
&macb1 {
|
||||
phy-mode = "rmii";
|
||||
};
|
||||
|
||||
&ebi {
|
||||
pinctrl-0 = <&pinctrl_ebi_nand_addr>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&nand_controller {
|
||||
status = "okay";
|
||||
|
||||
nand: nand@3 {
|
||||
reg = <0x3 0x0 0x2>;
|
||||
atmel,rb = <0>;
|
||||
nand-bus-width = <8>;
|
||||
nand-ecc-mode = "hw";
|
||||
nand-ecc-strength = <8>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-on-flash-bbt;
|
||||
label = "atmel_nand";
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ubootspl@0 {
|
||||
label = "u-boot-spl";
|
||||
reg = <0x0 0x20000>;
|
||||
};
|
||||
|
||||
uboot@20000 {
|
||||
label = "u-boot";
|
||||
reg = <0x20000 0x80000>;
|
||||
};
|
||||
|
||||
ubootenv@a0000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0xa0000 0x20000>;
|
||||
};
|
||||
|
||||
ubootenv@c0000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0xc0000 0x20000>;
|
||||
};
|
||||
|
||||
ubi@e0000 {
|
||||
label = "ubi";
|
||||
reg = <0xe0000 0xfe00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usba_vbus>;
|
||||
atmel,vbus-gpio = <&pioC 14 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb_vbus &pinctrl_usb_oc>;
|
||||
num-ports = <3>;
|
||||
atmel,vbus-gpio = <0
|
||||
&pioE 20 GPIO_ACTIVE_HIGH
|
||||
0>;
|
||||
atmel,oc-gpio = <0
|
||||
&pioE 15 GPIO_ACTIVE_LOW
|
||||
0>;
|
||||
};
|
Loading…
Reference in New Issue
Block a user