Commit 75458285 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Linus Torvalds
Browse files

powerpc/83xx: add mmc-spi support via the device tree for MPC8323E-RDB



- Add gpio-controller node to manage QE GPIO Bank D;
- Add mmc-spi node;
- Modify board file so that it won't use legacy SPI support with the new
  device trees.

Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Kumar Gala <galak@gate.crashing.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3f1c6ebf
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -152,10 +152,21 @@
		};

		par_io@1400 {
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x1400 0x100>;
			ranges = <3 0x1448 0x18>;
			compatible = "fsl,mpc8323-qe-pario";
			device_type = "par_io";
			num-ports = <7>;

			qe_pio_d: gpio-controller@1448 {
				#gpio-cells = <2>;
				compatible = "fsl,mpc8323-qe-pario-bank";
				reg = <3 0x18>;
				gpio-controller;
			};

			ucc2pio:ucc_pin@02 {
				pio-map = <
			/* port  pin  dir  open_drain  assignment  has_irq */
@@ -225,12 +236,25 @@
		};

		spi@4c0 {
			#address-cells = <1>;
			#size-cells = <0>;
			cell-index = <0>;
			compatible = "fsl,spi";
			reg = <0x4c0 0x40>;
			interrupts = <2>;
			interrupt-parent = <&qeic>;
			gpios = <&qe_pio_d 13 0>;
			mode = "cpu-qe";

			mmc-slot@0 {
				compatible = "fsl,mpc8323rdb-mmc-slot",
					     "mmc-spi-slot";
				reg = <0>;
				gpios = <&qe_pio_d 14 1
					 &qe_pio_d 15 0>;
				voltage-ranges = <3300 3300>;
				spi-max-frequency = <50000000>;
			};
		};

		spi@500 {
+6 −0
Original line number Diff line number Diff line
@@ -68,6 +68,12 @@ static int __init mpc832x_spi_init(void)
	par_io_config_pin(3, 14, 2, 0, 0, 0); /* SD_INSERT, I */
	par_io_config_pin(3, 15, 2, 0, 0, 0); /* SD_PROTECT,I */

	/*
	 * Don't bother with legacy stuff when device tree contains
	 * mmc-spi-slot node.
	 */
	if (of_find_compatible_node(NULL, NULL, "mmc-spi-slot"))
		return 0;
	return fsl_spi_init(&mpc832x_spi_boardinfo, 1, mpc83xx_spi_cs_control);
}
machine_device_initcall(mpc832x_rdb, mpc832x_spi_init);