Skip to content

Commit

Permalink
Merge pull request #76 from apertus-open-source-cinema/feature/qspi
Browse files Browse the repository at this point in the history
multiple improvements and fixes
  • Loading branch information
Sebastian Pichelhofer authored Mar 5, 2019
2 parents ada6289 + debf4cd commit cc9ecd2
Show file tree
Hide file tree
Showing 16 changed files with 1,834 additions and 526 deletions.
67 changes: 57 additions & 10 deletions boot/axiom-beta/devicetree.dts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* AXIOM Beta MicroZed Device Tree
* Version 1.2
* Version 1.3
*
* Copyright (C) 2014-2017 H.Poetzl
* Copyright (C) 2018-2019 R.Heinemann
Expand All @@ -25,7 +25,7 @@
compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
model = "AXIOM Beta MicroZed";

memory {
memory@0 {
device_type = "memory";
reg = <0x0 0x40000000>;
};
Expand Down Expand Up @@ -196,6 +196,55 @@
cache-level = <2>;
};

qspi0: spi@e000d000 {
compatible = "xlnx,zynq-qspi-1.0";
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "okay";
interrupt-parent = <&intc>;
interrupts = <0 19 4>;
clock-names = "ref_clk", "pclk";
clocks = <&clkc 10>, <&clkc 43>;
is-dual = <0x0>;
num-cs = <0x1>;
reg = <0xe000d000 0x1000>;

flash@0 {
compatible = "jedec,spi-nor";
#address-cells = <0x1>;
#size-cells = <0x1>;
spi-tx-bus-width = <0x1>;
spi-rx-bus-width = <0x4>;
spi-max-frequency = <0x2faf080>;
reg = <0x0>;

partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0x100000>;
};

partition@qspi-linux {
label = "qspi-linux";
reg = <0x100000 0x500000>;
};

partition@qspi-device-tree {
label = "qspi-device-tree";
reg = <0x600000 0x20000>;
};

partition@qspi-rootfs {
label = "qspi-rootfs";
reg = <0x620000 0x5e0000>;
};

partition@qspi-bitstream {
label = "qspi-bitstream";
reg = <0xc00000 0x400000>;
};
};
};

mc: memory-controller@f8006000 {
compatible = "xlnx,zynq-ddrc-a05";
reg = <0xf8006000 0x1000>;
Expand Down Expand Up @@ -249,7 +298,7 @@

gem0: ethernet@e000b000 {
compatible = "cdns,zynq-gem", "cdns,gem";
reg = <0xe000b000 0x4000>;
reg = <0xe000b000 0x1000>;
status = "okay";
interrupts = <0 22 4>;
clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
Expand Down Expand Up @@ -389,15 +438,15 @@
reg = <0xf8007000 0x100>;
interrupt-parent = <&intc>;
interrupts = <0 8 4>;
clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
syscon = <&slcr>;
};

fclk: fclk@0 {
fclk: fclk {
compatible = "zynq-fclk";
clocks = <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "fclk0", "fclk1", "fclk2", "fclk3";
clocks = <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "fclk0", "fclk1", "fclk2", "fclk3";
};

global_timer: timer@f8f00200 {
Expand Down Expand Up @@ -476,8 +525,6 @@

keys0: gpio-keys {
compatible = "gpio-keys";
#address-cells = <0x1>;
#size-cells = <0x0>;
autorepeat;

K1 {
Expand Down
95 changes: 85 additions & 10 deletions boot/axiom-micro/devicetree.dts
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
/*
* AXIOM Micro Z-Turn lite Device Tree
* Version 1.0
*
* Copyright (C) 2018-2019 R.Heinemann
*
* This program is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version
* 2 of the License, or (at your option) any later version.
*
* http://devicetree.org/Device_Tree_Usage
* Power_ePAPR_APPROVED_v1.1.pdf
*
* scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb devicetree.dts
*
*/

/dts-v1/;

/ {
Expand All @@ -6,7 +24,7 @@
compatible = "myir,zynq-zturn", "xlnx,zynq-7000";
model = "AXIOM micro Z-turn lite";

memory {
memory@0 {
device_type = "memory";
reg = <0x0 0x20000000>;
};
Expand Down Expand Up @@ -187,6 +205,65 @@
reg = <0xf8006000 0x1000>;
};

qspi0: spi@e000d000 {
clock-names = "ref_clk", "pclk";
clocks = <&clkc 10>, <&clkc 43>;
compatible = "xlnx,zynq-qspi-1.0";
status = "okay";
interrupt-parent = <&intc>;
interrupts = <0 19 4>;
reg = <0xe000d000 0x1000>;
#address-cells = <1>;
#size-cells = <0>;
is-dual = <0x0>;
num-cs = <0x1>;

flash@0 {
compatible = "w25q128";
reg = <0x0>;
spi-tx-bus-width = <0x1>;
spi-rx-bus-width = <0x4>;
spi-max-frequency = <0x2faf080>;
#address-cells = <0x1>;
#size-cells = <0x1>;

partition@qspi-boot {
label = "qspi-boot";
reg = <0x0 0x80000>;
};

partition@qspi-bootenv {
label = "qspi-bootenv";
reg = <0x80000 0x20000>;
};

partition@qspi-bitstream {
label = "qspi-bitstream";
reg = <0xa0000 0x460000>;
};

partition@qspi-kernel {
label = "qspi-kernel";
reg = <0x500000 0x480000>;
};

partition@qspi-devicetree {
label = "qspi-devicetree";
reg = <0x980000 0x10000>;
};

partition@qspi-rootfs {
label = "qspi-rootfs";
reg = <0x990000 0x600000>;
};

partition@qspi-data {
label = "data";
reg = <0xf90000 0x70000>;
};
};
};

uart0: serial@e0000000 {
compatible = "xlnx,xuartps", "cdns,uart-r1p8";
status = "okay";
Expand Down Expand Up @@ -235,7 +312,7 @@

gem0: ethernet@e000b000 {
compatible = "cdns,zynq-gem", "cdns,gem";
reg = <0xe000b000 0x4000>;
reg = <0xe000b000 0x1000>;
status = "okay";
interrupts = <0 22 4>;
clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
Expand All @@ -251,7 +328,7 @@
phy-handle = <&phy0>;

phy0: phy@0 {
compatible = "ethernet-phy-id004d.d072", "ethernet-phy-ieee802.3-c22";
// compatible = "ethernet-phy-id004d.d072", "ethernet-phy-ieee802.3-c22";
device_type = "ethernet-phy";
reg = <0x0>;
};
Expand Down Expand Up @@ -349,15 +426,15 @@
reg = <0xf8007000 0x100>;
interrupt-parent = <&intc>;
interrupts = <0 8 4>;
clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
syscon = <&slcr>;
};

fclk: fclk@0 {
fclk: fclk {
compatible = "zynq-fclk";
clocks = <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "fclk0", "fclk1", "fclk2", "fclk3";
clocks = <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
clock-names = "fclk0", "fclk1", "fclk2", "fclk3";
};

global_timer: timer@f8f00200 {
Expand Down Expand Up @@ -435,8 +512,6 @@

keys0: gpio-keys {
compatible = "gpio-keys";
#address-cells = <0x1>;
#size-cells = <0x0>;
autorepeat;

K1 {
Expand Down
5 changes: 3 additions & 2 deletions boot/axiom-micro/u-boot.config
Original file line number Diff line number Diff line change
Expand Up @@ -835,7 +835,8 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_LXT is not set
CONFIG_PHY_MARVELL=y
# CONFIG_PHY_MESON_GXL is not set
# CONFIG_PHY_MICREL is not set
CONFIG_PHY_MICREL=y
CONFIG_PHY_MICREL_KSZ90X1=y
# CONFIG_PHY_MSCC is not set
# CONFIG_PHY_NATSEMI is not set
CONFIG_PHY_REALTEK=y
Expand All @@ -848,7 +849,7 @@ CONFIG_PHY_XILINX=y
# CONFIG_PHY_FIXED is not set
CONFIG_DM_ETH=y
CONFIG_NETDEVICES=y
# CONFIG_PHY_GIGE is not set
CONFIG_PHY_GIGE=y
# CONFIG_ALTERA_TSE is not set
# CONFIG_BCM_SF2_ETH is not set
# CONFIG_DWC_ETH_QOS is not set
Expand Down
Loading

0 comments on commit cc9ecd2

Please sign in to comment.