Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3d00145 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files
Pull "First batch of DT changes for 4.1" into next/dt:

- at91sam9x5 & EK board: ISI and camera sensors
- at91sam9n12 & EK board: USB gadget nodes
- sama5d3: typos, gpio-keys on Xplained board
- sama5d4: i2c, leds, audio, ISI, crypto, pwm missing nodes
- new sama5d4 xplained board

* tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: (31 commits)
  ARM: at91/dt: sama5d4: add ISI dt support
  ARM: at91/dt: sama5d4: add pwm0 device node
  ARM: at91/dt: sama5d4: add aes, sha and tdes nodes
  ARM: at91: dt: sama5d4ek: enable audio
  ARM: at91: dt: sama5d4ek: add and enable wm8904
  ARM: at91: dt: sama5d4ek: enable ssc0
  ARM: at91: dt: sama5d4: add ssc nodes
  ARM: at91/dt: sama5d4 xplained: add i2c0
  ARM: at91/dt: sama5d4: add dts for sama5d4 xplained board
  ARM: at91/dt: sama5d4: add #{address, size}_cells properties for macb0
  ARM: at91/dt: sama5d4ek: add leds in DT node
  ARM: at91/dt: add i2c1 declaration to sama5d4
  ARM: at91/dt: gpio-keys: address-cells and size-cells properties are not needed
  ARM: at91/dt: at91-sama5d3_xplained: add gpio-key pinctrl property
  ARM: at91/dt/trivial: correct file headers for SAMA5D3 SoC peripherals
  ARM: at91/dt: at91sam9n12ek: enable udp
  ARM: at91/dt: at91sam9n12: add udp device node
  ARM: at91: at91sam9g25ek/dts: enable ISI and ov2640
  ARM: at91: at91sam9x5ek/dts: add ov2640 support
  ARM: at91: at91sam9x5/dts: add ISI dt support, include isi node, pinctrls
  ...
parents 66c9270b 35762a62
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@ Optional properties:
- atmel,disable : Should be present if you want to disable the watchdog.
- atmel,idle-halt : Should be present if you want to stop the watchdog when
	entering idle state.
	CAUTION: This property should be used with care, it actually makes the
	watchdog not counting when the CPU is in idle state, therefore the
	watchdog reset time depends on mean CPU usage and will not reset at all
	if the CPU stop working while it is in idle state, which is probably
	not what you want.
- atmel,dbg-halt : Should be present if you want to stop the watchdog when
	entering debug state.

+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
	sama5d34ek.dtb \
	sama5d35ek.dtb \
	sama5d36ek.dtb \
	at91-sama5d4_xplained.dtb \
	at91-sama5d4ek.dtb
dtb-$(CONFIG_ARCH_ATLAS6) += \
	atlas6-evb.dtb
+8 −0
Original line number Diff line number Diff line
@@ -188,6 +188,11 @@
							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
					};

					pinctrl_key_gpio: key_gpio_0 {
						atmel,pins =
							<AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};

					pinctrl_mmc0_cd: mmc0_cd {
						atmel,pins =
							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
@@ -276,6 +281,9 @@
	gpio_keys {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_key_gpio>;

		bp3 {
			label = "PB_USER";
			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
+241 −0
Original line number Diff line number Diff line
/*
 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
 *
 *  Copyright (C) 2015 Atmel,
 *                2015 Josh Wu <josh.wu@atmel.com>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */
/dts-v1/;
#include "sama5d4.dtsi"

/ {
	model = "Atmel SAMA5D4 Xplained";
	compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";

	chosen {
		bootargs = "console=ttyS0,115200 ignore_loglevel earlyprintk";
	};

	memory {
		reg = <0x20000000 0x20000000>;
	};

	clocks {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		main_clock: clock@0 {
			compatible = "atmel,osc", "fixed-clock";
			clock-frequency = <12000000>;
		};

		slow_xtal {
			clock-frequency = <32768>;
		};

		main_xtal {
			clock-frequency = <12000000>;
		};
	};

	ahb {
		apb {
			spi0: spi@f8010000 {
				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
				status = "okay";
				m25p80@0 {
					compatible = "atmel,at25df321a";
					spi-max-frequency = <50000000>;
					reg = <0>;
				};
			};

			i2c0: i2c@f8014000 {
				status = "okay";
			};

			macb0: ethernet@f8020000 {
				phy-mode = "rmii";
				status = "okay";

				phy0: ethernet-phy@1 {
					interrupt-parent = <&pioE>;
					interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
					reg = <1>;
				};
			};

			mmc1: mmc@fc000000 {
				pinctrl-names = "default";
				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <4>;
					cd-gpios = <&pioE 3 0>;
				};
			};

			usart3: serial@fc00c000 {
				status = "okay";
			};

			usart4: serial@fc010000 {
				status = "okay";
			};

			adc0: adc@fc034000 {
				atmel,adc-vref = <3300>;
				status = "okay";
			};

			watchdog@fc068640 {
				status = "okay";
			};

			pinctrl@fc06a000 {
				board {
					pinctrl_mmc1_cd: mmc1_cd {
						atmel,pins =
							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};
					pinctrl_usba_vbus: usba_vbus {
						atmel,pins =
							<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
					};
					pinctrl_key_gpio: key_gpio_0 {
						atmel,pins =
							<AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};
				};
			};
		};

		usb0: gadget@00400000 {
			atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usba_vbus>;
			status = "okay";
		};

		usb1: ohci@00500000 {
			num-ports = <3>;
			atmel,vbus-gpio = <0
					   &pioE 11 GPIO_ACTIVE_HIGH
					   &pioE 14 GPIO_ACTIVE_HIGH
					  >;
			status = "okay";
		};

		usb2: ehci@00600000 {
			status = "okay";
		};

		nand0: nand@80000000 {
			nand-bus-width = <8>;
			nand-ecc-mode = "hw";
			nand-on-flash-bbt;
			atmel,has-pmecc;
			status = "okay";

			at91bootstrap@0 {
				label = "at91bootstrap";
				reg = <0x0 0x40000>;
			};

			bootloader@40000 {
				label = "bootloader";
				reg = <0x40000 0x80000>;
			};

			bootloaderenv@c0000 {
				label = "bootloader env";
				reg = <0xc0000 0xc0000>;
			};

			dtb@180000 {
				label = "device tree";
				reg = <0x180000 0x80000>;
			};

			kernel@200000 {
				label = "kernel";
				reg = <0x200000 0x600000>;
			};

			rootfs@800000 {
				label = "rootfs";
				reg = <0x800000 0x0f800000>;
			};
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_key_gpio>;

		pb_user1 {
			label = "pb_user1";
			gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
			linux,code = <0x100>;
			gpio-key,wakeup;
		};
	};

	leds {
		compatible = "gpio-leds";
		status = "okay";

		d8 {
			label = "d8";
			gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
			status = "disabled";
		};

		d10 {
			label = "d10";
			gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};
	};
};
+53 −2
Original line number Diff line number Diff line
@@ -115,6 +115,10 @@
				};
			};

			ssc0: ssc@f8008000 {
				status = "okay";
			};

			spi0: spi@f8010000 {
				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
				status = "okay";
@@ -127,6 +131,13 @@

			i2c0: i2c@f8014000 {
				status = "okay";

				wm8904: codec@1a {
					compatible = "wlf,wm8904";
					reg = <0x1a>;
					clocks = <&pck2>;
					clock-names = "mclk";
				};
			};

			macb0: ethernet@f8020000 {
@@ -171,6 +182,10 @@
						atmel,pins =
							<AT91_PIOE 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};
					pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
						atmel,pins =
							<AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
					};
					pinctrl_usba_vbus: usba_vbus {
						atmel,pins =
							<AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
@@ -244,8 +259,6 @@

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_key_gpio>;
@@ -257,4 +270,42 @@
			gpio-key,wakeup;
		};
	};

	leds {
		compatible = "gpio-leds";
		status = "okay";

		d8 {
			label = "d8";
			/* PE28, conflicts with usart4 rts pin */
			gpios = <&pioE 28 GPIO_ACTIVE_LOW>;
		};

		d9 {
			label = "d9";
			gpios = <&pioE 9 GPIO_ACTIVE_HIGH>;
		};

		d10 {
			label = "d10";
			gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};
	};

	sound {
		compatible = "atmel,asoc-wm8904";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pck2_as_audio_mck>;

		atmel,model = "wm8904 @ SAMA5D4EK";
		atmel,audio-routing =
			"Headphone Jack", "HPOUTL",
			"Headphone Jack", "HPOUTR",
			"IN1L", "Line In Jack",
			"IN1R", "Line In Jack";

		atmel,ssc-controller = <&ssc0>;
		atmel,audio-codec = <&wm8904>;
	};
};
Loading