/*
 * Abilis Systems TB100 SOC device tree
 *
 * Copyright (C) Abilis Systems 2013
 *
 * Author: Christian Ruppert <christian.ruppert@abilis.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

/include/ "abilis_tb10x.dtsi"


/ {
	clock-frequency		= <500000000>;	/* 500 MHZ */

	soc100 {
		bus-frequency	= <166666666>;

		pll0: oscillator {
			clock-frequency  = <1000000000>;
		};
		cpu_clk: clkdiv_cpu {
			clock-mult = <1>;
			clock-div = <2>;
		};
		ahb_clk: clkdiv_ahb {
			clock-mult = <1>;
			clock-div = <6>;
		};

		iomux: iomux@FF10601c {
			/* Port 1 */
			pctl_tsin_s0: pctl-tsin-s0 {   /* Serial TS-in 0 */
				pingrp = "mis0_pins";
			};
			pctl_tsin_s1: pctl-tsin-s1 {   /* Serial TS-in 1 */
				pingrp = "mis1_pins";
			};
			pctl_gpio_a: pctl-gpio-a {     /* GPIO bank A */
				pingrp = "gpioa_pins";
			};
			pctl_tsin_p1: pctl-tsin-p1 {   /* Parallel TS-in 1 */
				pingrp = "mip1_pins";
			};
			/* Port 2 */
			pctl_tsin_s2: pctl-tsin-s2 {   /* Serial TS-in 2 */
				pingrp = "mis2_pins";
			};
			pctl_tsin_s3: pctl-tsin-s3 {   /* Serial TS-in 3 */
				pingrp = "mis3_pins";
			};
			pctl_gpio_c: pctl-gpio-c {     /* GPIO bank C */
				pingrp = "gpioc_pins";
			};
			pctl_tsin_p3: pctl-tsin-p3 {   /* Parallel TS-in 3 */
				pingrp = "mip3_pins";
			};
			/* Port 3 */
			pctl_tsin_s4: pctl-tsin-s4 {   /* Serial TS-in 4 */
				pingrp = "mis4_pins";
			};
			pctl_tsin_s5: pctl-tsin-s5 {   /* Serial TS-in 5 */
				pingrp = "mis5_pins";
			};
			pctl_gpio_e: pctl-gpio-e {     /* GPIO bank E */
				pingrp = "gpioe_pins";
			};
			pctl_tsin_p5: pctl-tsin-p5 {   /* Parallel TS-in 5 */
				pingrp = "mip5_pins";
			};
			/* Port 4 */
			pctl_tsin_s6: pctl-tsin-s6 {   /* Serial TS-in 6 */
				pingrp = "mis6_pins";
			};
			pctl_tsin_s7: pctl-tsin-s7 {   /* Serial TS-in 7 */
				pingrp = "mis7_pins";
			};
			pctl_gpio_g: pctl-gpio-g {     /* GPIO bank G */
				pingrp = "gpiog_pins";
			};
			pctl_tsin_p7: pctl-tsin-p7 {   /* Parallel TS-in 7 */
				pingrp = "mip7_pins";
			};
			/* Port 5 */
			pctl_gpio_j: pctl-gpio-j {     /* GPIO bank J */
				pingrp = "gpioj_pins";
			};
			pctl_gpio_k: pctl-gpio-k {     /* GPIO bank K */
				pingrp = "gpiok_pins";
			};
			pctl_ciplus: pctl-ciplus {     /* CI+ interface */
				pingrp = "ciplus_pins";
			};
			pctl_mcard: pctl-mcard {       /* M-Card interface */
				pingrp = "mcard_pins";
			};
			/* Port 6 */
			pctl_tsout_p: pctl-tsout-p {   /* Parallel TS-out */
				pingrp = "mop_pins";
			};
			pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
				pingrp = "mos0_pins";
			};
			pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
				pingrp = "mos1_pins";
			};
			pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
				pingrp = "mos2_pins";
			};
			pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
				pingrp = "mos3_pins";
			};
			/* Port 7 */
			pctl_uart0: pctl-uart0 {       /* UART 0 */
				pingrp = "uart0_pins";
			};
			pctl_uart1: pctl-uart1 {       /* UART 1 */
				pingrp = "uart1_pins";
			};
			pctl_gpio_l: pctl-gpio-l {     /* GPIO bank L */
				pingrp = "gpiol_pins";
			};
			pctl_gpio_m: pctl-gpio-m {     /* GPIO bank M */
				pingrp = "gpiom_pins";
			};
			/* Port 8 */
			pctl_spi3: pctl-spi3 {
				pingrp = "spi3_pins";
			};
			/* Port 9 */
			pctl_spi1: pctl-spi1 {
				pingrp = "spi1_pins";
			};
			pctl_gpio_n: pctl-gpio-n {
				pingrp = "gpion_pins";
			};
			/* Unmuxed GPIOs */
			pctl_gpio_b: pctl-gpio-b {
				pingrp = "gpiob_pins";
			};
			pctl_gpio_d: pctl-gpio-d {
				pingrp = "gpiod_pins";
			};
			pctl_gpio_f: pctl-gpio-f {
				pingrp = "gpiof_pins";
			};
			pctl_gpio_h: pctl-gpio-h {
				pingrp = "gpioh_pins";
			};
			pctl_gpio_i: pctl-gpio-i {
				pingrp = "gpioi_pins";
			};
		};

		gpioa: gpio@FF140000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF140000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <0>;
			gpio-pins = <&pctl_gpio_a>;
		};
		gpiob: gpio@FF141000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF141000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <3>;
			gpio-pins = <&pctl_gpio_b>;
		};
		gpioc: gpio@FF142000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF142000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <5>;
			gpio-pins = <&pctl_gpio_c>;
		};
		gpiod: gpio@FF143000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF143000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <8>;
			gpio-pins = <&pctl_gpio_d>;
		};
		gpioe: gpio@FF144000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF144000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <10>;
			gpio-pins = <&pctl_gpio_e>;
		};
		gpiof: gpio@FF145000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF145000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <13>;
			gpio-pins = <&pctl_gpio_f>;
		};
		gpiog: gpio@FF146000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF146000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <15>;
			gpio-pins = <&pctl_gpio_g>;
		};
		gpioh: gpio@FF147000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF147000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <18>;
			gpio-pins = <&pctl_gpio_h>;
		};
		gpioi: gpio@FF148000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF148000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <20>;
			gpio-pins = <&pctl_gpio_i>;
		};
		gpioj: gpio@FF149000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF149000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <32>;
			gpio-pins = <&pctl_gpio_j>;
		};
		gpiok: gpio@FF14a000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF14A000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <64>;
			gpio-pins = <&pctl_gpio_k>;
		};
		gpiol: gpio@FF14b000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF14B000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <86>;
			gpio-pins = <&pctl_gpio_l>;
		};
		gpiom: gpio@FF14c000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF14C000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <90>;
			gpio-pins = <&pctl_gpio_m>;
		};
		gpion: gpio@FF14d000 {
			compatible = "abilis,tb10x-gpio";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tb10x_ictl>;
			interrupts = <27 2>;
			reg = <0xFF14D000 0x1000>;
			gpio-controller;
			#gpio-cells = <1>;
			gpio-base  = <94>;
			gpio-pins = <&pctl_gpio_n>;
		};
	};
};
