summaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq')
-rw-r--r--target/linux/lantiq/image/EASY98000NOR.dts65
-rw-r--r--target/linux/lantiq/image/EASY98000SFLASH.dts74
-rw-r--r--target/linux/lantiq/image/Makefile8
-rw-r--r--target/linux/lantiq/image/falcon.dtsi201
4 files changed, 344 insertions, 4 deletions
diff --git a/target/linux/lantiq/image/EASY98000NOR.dts b/target/linux/lantiq/image/EASY98000NOR.dts
new file mode 100644
index 000000000..46497f48d
--- /dev/null
+++ b/target/linux/lantiq/image/EASY98000NOR.dts
@@ -0,0 +1,65 @@
+/dts-v1/;
+
+/include/ "falcon.dtsi"
+
+/ {
+ model = "EASY98000 - Lantiq Falcon (NOR)";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ localbus@10000000 {
+ cfi@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0x0 0x4000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ };
+
+ partition@10000 {
+ label = "uboot_env";
+ reg = <0x40000 0x40000>;
+ };
+
+ partition@20000 {
+ label = "linux";
+ reg = <0x80000 0x3d0000>;
+ };
+ };
+ };
+
+ pinmux0 {
+ compatible = "lantiq,pinctrl-falcon";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc0 {
+ lantiq,groups = "asc0";
+ lantiq,function = "asc";
+ };
+ ntr {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };
+ i2c {
+ lantiq,groups = "i2c";
+ lantiq,function = "i2c";
+ };
+ hrst {
+ lantiq,groups = "hrst";
+ lantiq,function = "rst";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/EASY98000SFLASH.dts b/target/linux/lantiq/image/EASY98000SFLASH.dts
new file mode 100644
index 000000000..47f8b47ff
--- /dev/null
+++ b/target/linux/lantiq/image/EASY98000SFLASH.dts
@@ -0,0 +1,74 @@
+/dts-v1/;
+
+/include/ "falcon.dtsi"
+
+/ {
+ model = "EASY98000 - Lantiq Falcon (SFLASH)";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ localbus@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sflash-falcon", "simple-bus";
+ busnum = <0>;
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p0";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "s25fl129p0";
+ spi-max-frequency = <10000000>;
+
+ partition@0 {
+ reg = <0x0 0x00080000>;
+ label = "SPI (RO) U-Boot Image";
+ read-only;
+ };
+
+ partition@80000 {
+ reg = <0x00080000 0x00080000>;
+ label = "SPI (RO) DTB Image";
+ read-only;
+ };
+
+ partition@100000 {
+ reg = <0x00100000 0x00400000>;
+ label = "SPI (RO) Linux Kernel Image";
+ read-only;
+ };
+ };
+ };
+
+ pinmux0 {
+ compatible = "lantiq,pinctrl-falcon";
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ asc0 {
+ lantiq,groups = "asc0";
+ lantiq,function = "asc";
+ };
+ ntr {
+ lantiq,groups = "ntr8k";
+ lantiq,function = "ntr";
+ };
+ i2c {
+ lantiq,groups = "i2c";
+ lantiq,function = "i2c";
+ };
+ hrst {
+ lantiq,groups = "hrst";
+ lantiq,function = "rst";
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 019bd5869..c76c17aea 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -106,11 +106,11 @@ endef
ifeq ($(CONFIG_TARGET_lantiq_falcon),y)
-Image/BuildKernel/Profile/EASY98000=$(call Image/BuildKernel/Template,EASY98000)
-Image/Build/Profile/EASY98000=$(call Image/Build/$(1),$(1),EASY98000)
+Image/BuildKernel/Profile/EASY98000NOR=$(call Image/BuildKernel/Template,EASY98000NOR)
+Image/Build/Profile/EASY98000NOR=$(call Image/Build/$(1),$(1),EASY98000NOR)
-Image/BuildKernel/Profile/EASY98020=$(call Image/BuildKernel/Template,EASY98020)
-Image/Build/Profile/EASY98020=$(call Image/Build/$(1),$(1),EASY98020)
+Image/BuildKernel/Profile/EASY98000SFLASH=$(call Image/BuildKernel/Template,EASY98000SFLASH)
+Image/Build/Profile/EASY98000SFLASH=$(call Image/Build/$(1),$(1),EASY98000SFLASH)
endif
diff --git a/target/linux/lantiq/image/falcon.dtsi b/target/linux/lantiq/image/falcon.dtsi
new file mode 100644
index 000000000..ec1b450ba
--- /dev/null
+++ b/target/linux/lantiq/image/falcon.dtsi
@@ -0,0 +1,201 @@
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+
+ cpus {
+ cpu@0 {
+ compatible = "mips,mips34kc";
+ };
+ };
+
+ localbus@10000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,localbus", "simple-bus";
+ reg = <0x10000000 0xC000000>;
+ ranges = <0x0 0x10000000 0xC000000>;
+ };
+
+ ebu@18000000 {
+ compatible = "lantiq,ebu-falcon";
+ reg = <0x18000000 0x100>;
+ };
+
+ sbs2@1D000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,sysb2", "simple-bus";
+ reg = <0x1D000000 0x1000000>;
+ ranges = <0x0 0x1D000000 0x1000000>;
+
+ sysgpe@700000 {
+ compatible = "lantiq,sysgpe-falcon";
+ reg = <0x700000 0x100>;
+ };
+
+ gpio0: gpio@810000 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <44>;
+ reg = <0x810000 0x80>;
+ lantiq,bank = <0>;
+ };
+
+ gpio2: gpio@810100 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <46>;
+ reg = <0x810100 0x80>;
+ lantiq,bank = <2>;
+ };
+
+ syseth@B00000 {
+ compatible = "lantiq,syseth-falcon";
+ reg = <0xB00000 0x100>;
+ };
+
+ pad@B01000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xB01000 0x100>;
+ lantiq,bank = <0>;
+ };
+
+ pad@B02000 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0xB02000 0x100>;
+ lantiq,bank = <2>;
+ };
+ };
+
+ fpi@1E000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,fpi", "simple-bus";
+ reg = <0x1E000000 0x1000000>;
+ ranges = <0x0 0x1E000000 0x1000000>;
+
+ serial@100B00 {
+ status = "disabled";
+ compatible = "lantiq,asc";
+ reg = <0x100B00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ line = <1>;
+ };
+
+ serial@100C00 {
+ compatible = "lantiq,asc";
+ reg = <0x100C00 0x100>;
+ interrupt-parent = <&icu0>;
+ interrupts = <104 105 106>;
+ line = <0>;
+ };
+
+ i2c@200000 {
+ compatible = "lantiq,lantiq-i2c";
+ reg = <0x200000 0x10000>;
+ interrupt-parent = <&icu0>;
+ interrupts = <18 19 20 21>;
+ gpios = <&gpio1 7 0 &gpio1 8 0>;
+ };
+
+ gpio1: gpio@800100 {
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <45>;
+ reg = <0x800100 0x100>;
+ lantiq,bank = <1>;
+ };
+
+ gpio3: gpio@800200 {
+ status = "disabled";
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <47>;
+ reg = <0x800200 0x100>;
+ lantiq,bank = <3>;
+ };
+
+ gpio4: gpio@800300 {
+ status = "disabled";
+ #gpio-cells = <2>;
+ compatible = "lantiq,gpio-falcon";
+ gpio-controller;
+ interrupt-parent = <&icu0>;
+ interrupts = <48>;
+ reg = <0x800300 0x100>;
+ lantiq,bank = <4>;
+ };
+
+ pad@800400 {
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800400 0x100>;
+ lantiq,bank = <1>;
+ };
+
+ pad@800500 {
+ status = "disabled";
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800500 0x100>;
+ bank = <3>;
+ };
+
+ pad4@800600 {
+ status = "disabled";
+ compatible = "lantiq,pad-falcon";
+ reg = <0x800600 0x100>;
+ bank = <4>;
+ };
+
+ status@802000 {
+ compatible = "lantiq,status-falcon";
+ reg = <0x802000 0x80>;
+ };
+
+ sys1@F00000 {
+ compatible = "lantiq,sys1-falcon";
+ reg = <0xF00000 0x100>;
+ };
+ };
+
+ sbs0@1F000000 {
+
+ };
+
+ sbs1@1F700000 {
+
+ };
+
+ biu@1F800000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "lantiq,falcon";
+ reg = <0x1F800000 0x800000>;
+ ranges = <0x0 0x1F800000 0x7FFFFF>;
+
+ icu0: icu@80200 {
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ compatible = "lantiq,icu";
+ reg = <0x80200 0x28
+ 0x80228 0x28
+ 0x80250 0x28
+ 0x80278 0x28
+ 0x802a0 0x28>;
+ };
+
+ watchdog@803F0 {
+ compatible = "lantiq,wdt";
+ reg = <0x803F0 0x10>;
+ };
+ };
+};