diff options
Diffstat (limited to 'kernel/arch/metag/boot/dts')
-rw-r--r-- | kernel/arch/metag/boot/dts/Makefile | 22 | ||||
l--------- | kernel/arch/metag/boot/dts/include/dt-bindings | 1 | ||||
-rw-r--r-- | kernel/arch/metag/boot/dts/skeleton.dts | 10 | ||||
-rw-r--r-- | kernel/arch/metag/boot/dts/skeleton.dtsi | 14 | ||||
-rw-r--r-- | kernel/arch/metag/boot/dts/tz1090.dtsi | 108 | ||||
-rw-r--r-- | kernel/arch/metag/boot/dts/tz1090_generic.dts | 10 |
6 files changed, 165 insertions, 0 deletions
diff --git a/kernel/arch/metag/boot/dts/Makefile b/kernel/arch/metag/boot/dts/Makefile new file mode 100644 index 000000000..72c121879 --- /dev/null +++ b/kernel/arch/metag/boot/dts/Makefile @@ -0,0 +1,22 @@ +dtb-y += skeleton.dtb +dtb-y += tz1090_generic.dtb + +# Built-in dtb +builtindtb-y := skeleton +builtindtb-$(CONFIG_SOC_TZ1090) := tz1090_generic + +ifneq ($(CONFIG_METAG_BUILTIN_DTB_NAME),"") + builtindtb-y := $(patsubst "%",%,$(CONFIG_METAG_BUILTIN_DTB_NAME)) +endif + +dtb-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb +obj-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb.o + +targets += dtbs +targets += $(dtb-y) + +.SECONDARY: $(obj)/$(builtindtb-y).dtb.S + +dtbs: $(addprefix $(obj)/, $(dtb-y)) + +clean-files += *.dtb *.dtb.S diff --git a/kernel/arch/metag/boot/dts/include/dt-bindings b/kernel/arch/metag/boot/dts/include/dt-bindings new file mode 120000 index 000000000..08c00e497 --- /dev/null +++ b/kernel/arch/metag/boot/dts/include/dt-bindings @@ -0,0 +1 @@ +../../../../../include/dt-bindings
\ No newline at end of file diff --git a/kernel/arch/metag/boot/dts/skeleton.dts b/kernel/arch/metag/boot/dts/skeleton.dts new file mode 100644 index 000000000..7a49aeb36 --- /dev/null +++ b/kernel/arch/metag/boot/dts/skeleton.dts @@ -0,0 +1,10 @@ +/* + * Copyright (C) 2012 Imagination Technologies Ltd. + * + * 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. + */ +/dts-v1/; + +#include "skeleton.dtsi" diff --git a/kernel/arch/metag/boot/dts/skeleton.dtsi b/kernel/arch/metag/boot/dts/skeleton.dtsi new file mode 100644 index 000000000..78229eacc --- /dev/null +++ b/kernel/arch/metag/boot/dts/skeleton.dtsi @@ -0,0 +1,14 @@ +/* + * Skeleton device tree; the bare minimum needed to boot; just include and + * add a compatible value. The bootloader will typically populate the memory + * node. + */ + +/ { + compatible = "img,meta"; + #address-cells = <1>; + #size-cells = <1>; + chosen { }; + aliases { }; + memory { device_type = "memory"; reg = <0 0>; }; +}; diff --git a/kernel/arch/metag/boot/dts/tz1090.dtsi b/kernel/arch/metag/boot/dts/tz1090.dtsi new file mode 100644 index 000000000..24ea7d2e9 --- /dev/null +++ b/kernel/arch/metag/boot/dts/tz1090.dtsi @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2012 Imagination Technologies Ltd. + * + * 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. + */ + +#include "skeleton.dtsi" + +#include <dt-bindings/interrupt-controller/irq.h> + +/ { + compatible = "toumaz,tz1090", "img,meta"; + + interrupt-parent = <&intc>; + + intc: interrupt-controller { + compatible = "img,meta-intc"; + interrupt-controller; + #interrupt-cells = <2>; + num-banks = <2>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + pdc: pdc@0x02006000 { + interrupt-controller; + #interrupt-cells = <2>; + + reg = <0x02006000 0x1000>; + compatible = "img,pdc-intc"; + + num-perips = <3>; + num-syswakes = <3>; + + interrupts = <18 IRQ_TYPE_LEVEL_HIGH>, /* Syswakes */ + <30 IRQ_TYPE_LEVEL_HIGH>, /* Perip 0 (RTC) */ + <29 IRQ_TYPE_LEVEL_HIGH>, /* Perip 1 (IR) */ + <31 IRQ_TYPE_LEVEL_HIGH>; /* Perip 2 (WDT) */ + }; + + pinctrl: pinctrl@02005800 { + #gpio-range-cells = <3>; + compatible = "img,tz1090-pinctrl"; + reg = <0x02005800 0xe4>; + }; + + pdc_pinctrl: pinctrl@02006500 { + #gpio-range-cells = <3>; + compatible = "img,tz1090-pdc-pinctrl"; + reg = <0x02006500 0x100>; + }; + + gpios: gpios@02005800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "img,tz1090-gpio"; + reg = <0x02005800 0x90>; + + gpios0: bank@0 { + gpio-controller; + interrupt-controller; + #gpio-cells = <2>; + #interrupt-cells = <2>; + reg = <0>; + interrupts = <13 IRQ_TYPE_LEVEL_HIGH>; + gpio-ranges = <&pinctrl 0 0 30>; + }; + gpios1: bank@1 { + gpio-controller; + interrupt-controller; + #gpio-cells = <2>; + #interrupt-cells = <2>; + reg = <1>; + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; + gpio-ranges = <&pinctrl 0 30 30>; + }; + gpios2: bank@2 { + gpio-controller; + interrupt-controller; + #gpio-cells = <2>; + #interrupt-cells = <2>; + reg = <2>; + interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; + gpio-ranges = <&pinctrl 0 60 30>; + }; + }; + + pdc_gpios: gpios@02006500 { + gpio-controller; + #gpio-cells = <2>; + + compatible = "img,tz1090-pdc-gpio"; + reg = <0x02006500 0x100>; + + interrupt-parent = <&pdc>; + interrupts = <8 IRQ_TYPE_NONE>, + <9 IRQ_TYPE_NONE>, + <10 IRQ_TYPE_NONE>; + gpio-ranges = <&pdc_pinctrl 0 0 7>; + }; + }; +}; diff --git a/kernel/arch/metag/boot/dts/tz1090_generic.dts b/kernel/arch/metag/boot/dts/tz1090_generic.dts new file mode 100644 index 000000000..f96090955 --- /dev/null +++ b/kernel/arch/metag/boot/dts/tz1090_generic.dts @@ -0,0 +1,10 @@ +/* + * Copyright (C) 2012 Imagination Technologies Ltd. + * + * 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. + */ +/dts-v1/; + +#include "tz1090.dtsi" |