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

Commit 8760f799 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes

From Nicolas Ferre:
First series of AT91 fixes for 3.14.
All of them are DT-related.
- fixes for typos in i2c and ohci clocks
- addition of a USB host node for at91sam9n12ek
- 2 DT documentation updates that have been sent a long time ago
- a new board based on the sama5d36 SoC

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91

:
  ARM: at91: add Atmel's SAMA5D3 Xplained board
  spi/atmel: document clock properties
  mmc: atmel-mci: document clock properties
  ARM: at91: enable USB host on at91sam9n12ek board
  ARM: at91/dt: fix sama5d3 ohci hclk clock reference
  ARM: at91/dt: sam9263: fix compatibility string for the I2C

Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
parents 5db1dabc b7c2b615
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,9 @@ Required properties:
- #address-cells: should be one. The cell is the slot id.
- #address-cells: should be one. The cell is the slot id.
- #size-cells: should be zero.
- #size-cells: should be zero.
- at least one slot node
- at least one slot node
- clock-names: tuple listing input clock names.
	Required elements: "mci_clk"
- clocks: phandles to input clocks.


The node contains child nodes for each slot that the platform uses
The node contains child nodes for each slot that the platform uses


@@ -24,6 +27,8 @@ mmc0: mmc@f0008000 {
	interrupts = <12 4>;
	interrupts = <12 4>;
	#address-cells = <1>;
	#address-cells = <1>;
	#size-cells = <0>;
	#size-cells = <0>;
	clock-names = "mci_clk";
	clocks = <&mci0_clk>;


	[ child node definitions...]
	[ child node definitions...]
};
};
+5 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,9 @@ Required properties:
- reg: Address and length of the register set for the device
- reg: Address and length of the register set for the device
- interrupts: Should contain spi interrupt
- interrupts: Should contain spi interrupt
- cs-gpios: chipselects
- cs-gpios: chipselects
- clock-names: tuple listing input clock names.
	Required elements: "spi_clk"
- clocks: phandles to input clocks.


Example:
Example:


@@ -14,6 +17,8 @@ spi1: spi@fffcc000 {
	interrupts = <13 4 5>;
	interrupts = <13 4 5>;
	#address-cells = <1>;
	#address-cells = <1>;
	#size-cells = <0>;
	#size-cells = <0>;
	clocks = <&spi1_clk>;
	clock-names = "spi_clk";
	cs-gpios = <&pioB 3 0>;
	cs-gpios = <&pioB 3 0>;
	status = "okay";
	status = "okay";


+1 −0
Original line number Original line Diff line number Diff line
@@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb
dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb
dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb
dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb
dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb
# sama5d3
# sama5d3
dtb-$(CONFIG_ARCH_AT91)	+= at91-sama5d3_xplained.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d31ek.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d31ek.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d33ek.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d33ek.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d34ek.dtb
dtb-$(CONFIG_ARCH_AT91)	+= sama5d34ek.dtb
+229 −0
Original line number Original line Diff line number Diff line
/*
 * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
 *
 *  Copyright (C) 2014 Atmel,
 *		  2014 Nicolas Ferre <nicolas.ferre@atmel.com>
 *
 * Licensed under GPLv2 or later.
 */
/dts-v1/;
#include "sama5d36.dtsi"

/ {
	model = "SAMA5D3 Xplained";
	compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";

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

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

	ahb {
		apb {
			mmc0: mmc@f0000000 {
				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
				status = "okay";
				slot@0 {
					reg = <0>;
					bus-width = <8>;
					cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
				};
			};

			spi0: spi@f0004000 {
				cs-gpios = <&pioD 13 0>;
				status = "okay";
			};

			can0: can@f000c000 {
				status = "okay";
			};

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

			i2c1: i2c@f0018000 {
				status = "okay";
			};

			macb0: ethernet@f0028000 {
				phy-mode = "rgmii";
				status = "okay";
			};

			usart0: serial@f001c000 {
				status = "okay";
			};

			usart1: serial@f0020000 {
				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
				status = "okay";
			};

			uart0: serial@f0024000 {
				status = "okay";
			};

			mmc1: mmc@f8000000 {
				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 1 GPIO_ACTIVE_HIGH>;
				};
			};

			spi1: spi@f8008000 {
				cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioD 16 0>;
				status = "okay";
			};

			adc0: adc@f8018000 {
				pinctrl-0 = <
					&pinctrl_adc0_adtrg
					&pinctrl_adc0_ad0
					&pinctrl_adc0_ad1
					&pinctrl_adc0_ad2
					&pinctrl_adc0_ad3
					&pinctrl_adc0_ad4
					&pinctrl_adc0_ad5
					&pinctrl_adc0_ad6
					&pinctrl_adc0_ad7
					&pinctrl_adc0_ad8
					&pinctrl_adc0_ad9
					>;
				status = "okay";
			};

			i2c2: i2c@f801c000 {
				dmas = <0>, <0>;	/* Do not use DMA for i2c2 */
				status = "okay";
			};

			macb1: ethernet@f802c000 {
				phy-mode = "rmii";
				status = "okay";
			};

			dbgu: serial@ffffee00 {
				status = "okay";
			};

			pinctrl@fffff200 {
				board {
					pinctrl_mmc0_cd: mmc0_cd {
						atmel,pins =
							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};

					pinctrl_mmc1_cd: mmc1_cd {
						atmel,pins =
							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
					};

					pinctrl_usba_vbus: usba_vbus {
						atmel,pins =
							<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PE9, conflicts with A9 */
					};
				};
			};

			pmc: pmc@fffffc00 {
				main: mainck {
					clock-frequency = <12000000>;
				};
			};
		};

		nand0: nand@60000000 {
			nand-bus-width = <8>;
			nand-ecc-mode = "hw";
			atmel,has-pmecc;
			atmel,pmecc-cap = <4>;
			atmel,pmecc-sector-size = <512>;
			nand-on-flash-bbt;
			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>;
			};
		};

		usb0: gadget@00500000 {
			atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;	/* PE9, conflicts with A9 */
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usba_vbus>;
			status = "okay";
		};

		usb1: ohci@00600000 {
			num-ports = <3>;
			atmel,vbus-gpio = <0
					   &pioE 3 GPIO_ACTIVE_LOW
					   &pioE 4 GPIO_ACTIVE_LOW
					  >;
			status = "okay";
		};

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

	gpio_keys {
		compatible = "gpio-keys";

		bp3 {
			label = "PB_USER";
			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
			linux,code = <0x104>;
			gpio-key,wakeup;
		};
	};

	leds {
		compatible = "gpio-leds";

		d2 {
			label = "d2";
			gpios = <&pioE 23 GPIO_ACTIVE_LOW>;	/* PE23, conflicts with A23, CTS2 */
			linux,default-trigger = "heartbeat";
		};

		d3 {
			label = "d3";
			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
		};
	};
};
+1 −1
Original line number Original line Diff line number Diff line
@@ -523,7 +523,7 @@
			};
			};


			i2c0: i2c@fff88000 {
			i2c0: i2c@fff88000 {
				compatible = "atmel,at91sam9263-i2c";
				compatible = "atmel,at91sam9260-i2c";
				reg = <0xfff88000 0x100>;
				reg = <0xfff88000 0x100>;
				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
				interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
				#address-cells = <1>;
				#address-cells = <1>;
Loading