Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt

SoCFPGA DTS updates for v4.3
- Update clocking for DTS nodes
- Add DTS board file for Terasic DE0 Atlas board
- Use stdout-patch for chosen node
- Enable prefetch-data and prefetch-instr

* tag 'socfpga_dts_for_v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
ARM: socfpga: dts: add osc1 as a possible parent for dbg_base_clk
ARM: socfpga: dts: add missing clock gates to socfpga.dtsi
ARM: socfpga: dts: Fix gpio dts entry for the correct clock
ARM: socfpga: dts: Correct the parent clock for l3_sp_clk and dbg_clk
ARM: dts: socfpga: Add support of Terasic DE0 Atlas board
ARM: dts: socfpga: use stdout-path for chosen node
ARM: dts: socfpga: enable the data and instruction prefetch for the l2 cache

Signed-off-by: Olof Johansson <olof@lixom.net>

+163 -11
+1
arch/arm/boot/dts/Makefile
··· 536 536 socfpga_arria5_socdk.dtb \ 537 537 socfpga_arria10_socdk_sdmmc.dtb \ 538 538 socfpga_cyclone5_socdk.dtb \ 539 + socfpga_cyclone5_de0_sockit.dtb \ 539 540 socfpga_cyclone5_sockit.dtb \ 540 541 socfpga_cyclone5_socrates.dtb \ 541 542 socfpga_vt.dtb
+38 -7
arch/arm/boot/dts/socfpga.dtsi
··· 164 164 dbg_base_clk: dbg_base_clk { 165 165 #clock-cells = <0>; 166 166 compatible = "altr,socfpga-perip-clk"; 167 - clocks = <&main_pll>; 167 + clocks = <&main_pll>, <&osc1>; 168 168 div-reg = <0xe8 0 9>; 169 169 reg = <0x50>; 170 170 }; ··· 318 318 l3_sp_clk: l3_sp_clk { 319 319 #clock-cells = <0>; 320 320 compatible = "altr,socfpga-gate-clk"; 321 - clocks = <&mainclk>; 321 + clocks = <&l3_mp_clk>; 322 322 div-reg = <0x64 2 2>; 323 323 }; 324 324 ··· 349 349 dbg_clk: dbg_clk { 350 350 #clock-cells = <0>; 351 351 compatible = "altr,socfpga-gate-clk"; 352 - clocks = <&dbg_base_clk>; 352 + clocks = <&dbg_at_clk>; 353 353 div-reg = <0x68 2 2>; 354 354 clk-gate = <0x60 5>; 355 355 }; ··· 481 481 clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>; 482 482 clk-gate = <0xa0 11>; 483 483 }; 484 + 485 + ddr_dqs_clk_gate: ddr_dqs_clk_gate { 486 + #clock-cells = <0>; 487 + compatible = "altr,socfpga-gate-clk"; 488 + clocks = <&ddr_dqs_clk>; 489 + clk-gate = <0xd8 0>; 490 + }; 491 + 492 + ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate { 493 + #clock-cells = <0>; 494 + compatible = "altr,socfpga-gate-clk"; 495 + clocks = <&ddr_2x_dqs_clk>; 496 + clk-gate = <0xd8 1>; 497 + }; 498 + 499 + ddr_dq_clk_gate: ddr_dq_clk_gate { 500 + #clock-cells = <0>; 501 + compatible = "altr,socfpga-gate-clk"; 502 + clocks = <&ddr_dq_clk>; 503 + clk-gate = <0xd8 2>; 504 + }; 505 + 506 + h2f_user2_clk: h2f_user2_clk { 507 + #clock-cells = <0>; 508 + compatible = "altr,socfpga-gate-clk"; 509 + clocks = <&h2f_usr2_clk>; 510 + clk-gate = <0xd8 3>; 511 + }; 512 + 484 513 }; 485 - }; 514 + }; 486 515 487 516 gmac0: ethernet@ff700000 { 488 517 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; ··· 594 565 #size-cells = <0>; 595 566 compatible = "snps,dw-apb-gpio"; 596 567 reg = <0xff708000 0x1000>; 597 - clocks = <&per_base_clk>; 568 + clocks = <&l4_mp_clk>; 598 569 status = "disabled"; 599 570 600 571 porta: gpio-controller@0 { ··· 614 585 #size-cells = <0>; 615 586 compatible = "snps,dw-apb-gpio"; 616 587 reg = <0xff709000 0x1000>; 617 - clocks = <&per_base_clk>; 588 + clocks = <&l4_mp_clk>; 618 589 status = "disabled"; 619 590 620 591 portb: gpio-controller@0 { ··· 634 605 #size-cells = <0>; 635 606 compatible = "snps,dw-apb-gpio"; 636 607 reg = <0xff70a000 0x1000>; 637 - clocks = <&per_base_clk>; 608 + clocks = <&l4_mp_clk>; 638 609 status = "disabled"; 639 610 640 611 portc: gpio-controller@0 { ··· 668 639 cache-level = <2>; 669 640 arm,tag-latency = <1 1 1>; 670 641 arm,data-latency = <2 1 1>; 642 + prefetch-data = <1>; 643 + prefetch-instr = <1>; 671 644 }; 672 645 673 646 mmc: dwmmc0@ff704000 {
+5
arch/arm/boot/dts/socfpga_arria10.dtsi
··· 21 21 #address-cells = <1>; 22 22 #size-cells = <1>; 23 23 24 + aliases { 25 + serial0 = &uart0; 26 + serial1 = &uart1; 27 + }; 28 + 24 29 cpus { 25 30 #address-cells = <1>; 26 31 #size-cells = <0>;
+2 -1
arch/arm/boot/dts/socfpga_arria10_socdk.dtsi
··· 21 21 compatible = "altr,socfpga-arria10", "altr,socfpga"; 22 22 23 23 chosen { 24 - bootargs = "console=ttyS0,115200 rootwait"; 24 + bootargs = "earlyprintk"; 25 + stdout-path = "serial1:115200n8"; 25 26 }; 26 27 27 28 memory {
+2 -1
arch/arm/boot/dts/socfpga_arria5_socdk.dts
··· 22 22 compatible = "altr,socfpga-arria5", "altr,socfpga"; 23 23 24 24 chosen { 25 - bootargs = "console=ttyS0,115200"; 25 + bootargs = "earlyprintk"; 26 + stdout-path = "serial0:115200n8"; 26 27 }; 27 28 28 29 memory {
+111
arch/arm/boot/dts/socfpga_cyclone5_de0_sockit.dts
··· 1 + /* 2 + * Copyright Altera Corporation (C) 2015. All rights reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or modify 5 + * it under the terms and conditions of the GNU General Public License, 6 + * version 2, as published by the Free Software Foundation. 7 + * 8 + * This program is distributed in the hope it will be useful, but WITHOUT 9 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 + * more details. 12 + * 13 + * You should have received a copy of the GNU General Public License along with 14 + * this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #include "socfpga_cyclone5.dtsi" 18 + 19 + / { 20 + model = "Terasic DE-0(Atlas)"; 21 + compatible = "altr,socfpga-cyclone5", "altr,socfpga"; 22 + 23 + chosen { 24 + bootargs = "earlyprintk"; 25 + stdout-path = "serial0:115200n8"; 26 + }; 27 + 28 + memory { 29 + name = "memory"; 30 + device_type = "memory"; 31 + reg = <0x0 0x40000000>; /* 1GB */ 32 + }; 33 + 34 + aliases { 35 + ethernet0 = &gmac1; 36 + }; 37 + 38 + regulator_3_3v: 3-3-v-regulator { 39 + compatible = "regulator-fixed"; 40 + regulator-name = "3.3V"; 41 + regulator-min-microvolt = <3300000>; 42 + regulator-max-microvolt = <3300000>; 43 + }; 44 + 45 + leds { 46 + compatible = "gpio-leds"; 47 + hps0 { 48 + label = "hps_led0"; 49 + gpios = <&portb 24 0>; 50 + linux,default-trigger = "heartbeat"; 51 + }; 52 + }; 53 + }; 54 + 55 + &gmac1 { 56 + status = "okay"; 57 + phy-mode = "rgmii"; 58 + 59 + txd0-skew-ps = <0>; /* -420ps */ 60 + txd1-skew-ps = <0>; /* -420ps */ 61 + txd2-skew-ps = <0>; /* -420ps */ 62 + txd3-skew-ps = <0>; /* -420ps */ 63 + rxd0-skew-ps = <420>; /* 0ps */ 64 + rxd1-skew-ps = <420>; /* 0ps */ 65 + rxd2-skew-ps = <420>; /* 0ps */ 66 + rxd3-skew-ps = <420>; /* 0ps */ 67 + txen-skew-ps = <0>; /* -420ps */ 68 + txc-skew-ps = <1860>; /* 960ps */ 69 + rxdv-skew-ps = <420>; /* 0ps */ 70 + rxc-skew-ps = <1680>; /* 780ps */ 71 + 72 + max-frame-size = <3800>; 73 + }; 74 + 75 + &gpio0 { 76 + status = "okay"; 77 + }; 78 + 79 + &gpio1 { 80 + status = "okay"; 81 + }; 82 + 83 + &gpio2 { 84 + status = "okay"; 85 + }; 86 + 87 + &i2c0 { 88 + status = "okay"; 89 + speed-mode = <0>; 90 + 91 + adxl345: adxl345@0 { 92 + compatible = "adi,adxl345"; 93 + reg = <0x53>; 94 + 95 + interrupt-parent = <&portc>; 96 + interrupts = <3 2>; 97 + }; 98 + }; 99 + 100 + &mmc0 { 101 + vmmc-supply = <&regulator_3_3v>; 102 + vqmmc-supply = <&regulator_3_3v>; 103 + }; 104 + 105 + &uart0 { 106 + status = "okay"; 107 + }; 108 + 109 + &usb1 { 110 + status = "okay"; 111 + };
+2 -1
arch/arm/boot/dts/socfpga_cyclone5_socdk.dts
··· 22 22 compatible = "altr,socfpga-cyclone5", "altr,socfpga"; 23 23 24 24 chosen { 25 - bootargs = "console=ttyS0,115200"; 25 + bootargs = "earlyprintk"; 26 + stdout-path = "serial0:115200n8"; 26 27 }; 27 28 28 29 memory {
+2 -1
arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
··· 22 22 compatible = "altr,socfpga-cyclone5", "altr,socfpga"; 23 23 24 24 chosen { 25 - bootargs = "console=ttyS0,115200"; 25 + bootargs = "earlyprintk"; 26 + stdout-path = "serial0:115200n8"; 26 27 }; 27 28 28 29 memory {