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

Merge tag 'pxa-dt-4.10' of https://github.com/rjarzmik/linux into next/dt

Pull "This device-tree pxa update brings" from Robert Jarzmik:

- pxa25x support
- cpu operating points in preparation for cpufreq-dt
- small fixes

* tag 'pxa-dt-4.10' of https://github.com/rjarzmik/linux:
ARM: dts: pxa: add pxa27x cpu operating points
ARM: dts: pxa: add pxa25x cpu operating points
ARM: dts: pxa: fix gpio0 and gpio1 interrupts
ARM: dts: pxa: fix no. of gpio cells in the pxa gpio binding documentation
ARM: dts: pxa: add pxa25x .dtsi file

+163 -4
+4 -2
Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
··· 17 17 - #interrupt-cells: Specifies the number of cells needed to encode an 18 18 interrupt source. 19 19 - gpio-controller : Marks the device node as a gpio controller. 20 - - #gpio-cells : Should be one. It is the pin number. 20 + - #gpio-cells : Should be two. The first cell is the pin number and 21 + the second cell is used to specify flags. See gpio.txt for possible 22 + values. 21 23 22 24 Example for a MMP platform: 23 25 ··· 29 27 interrupts = <49>; 30 28 interrupt-names = "gpio_mux"; 31 29 gpio-controller; 32 - #gpio-cells = <1>; 30 + #gpio-cells = <2>; 33 31 interrupt-controller; 34 32 #interrupt-cells = <1>; 35 33 };
+117
arch/arm/boot/dts/pxa25x.dtsi
··· 1 + /* 2 + * Copyright (C) 2016 Robert Jarzmik <robert.jarzmik@free.fr> 3 + * 4 + * The code contained herein is licensed under the GNU General Public 5 + * License. You may obtain a copy of the GNU General Public License 6 + * Version 2 or later at the following locations: 7 + * 8 + * http://www.opensource.org/licenses/gpl-license.html 9 + * http://www.gnu.org/copyleft/gpl.html 10 + */ 11 + #include "pxa2xx.dtsi" 12 + #include "dt-bindings/clock/pxa-clock.h" 13 + 14 + / { 15 + model = "Marvell PXA25x family SoC"; 16 + compatible = "marvell,pxa250"; 17 + 18 + clocks { 19 + /* 20 + * The muxing of external clocks/internal dividers for osc* clock 21 + * sources has been hidden under the carpet by now. 22 + */ 23 + #address-cells = <1>; 24 + #size-cells = <1>; 25 + ranges; 26 + 27 + clks: pxa2xx_clks@41300004 { 28 + compatible = "marvell,pxa250-core-clocks"; 29 + #clock-cells = <1>; 30 + status = "okay"; 31 + }; 32 + 33 + /* timer oscillator */ 34 + clktimer: oscillator { 35 + compatible = "fixed-clock"; 36 + #clock-cells = <0>; 37 + clock-frequency = <3686400>; 38 + clock-output-names = "ostimer"; 39 + }; 40 + }; 41 + 42 + pxabus { 43 + pdma: dma-controller@40000000 { 44 + compatible = "marvell,pdma-1.0"; 45 + reg = <0x40000000 0x10000>; 46 + interrupts = <25>; 47 + #dma-channels = <16>; 48 + #dma-cells = <2>; 49 + #dma-requests = <40>; 50 + status = "okay"; 51 + }; 52 + 53 + pxairq: interrupt-controller@40d00000 { 54 + marvell,intc-priority; 55 + marvell,intc-nr-irqs = <32>; 56 + }; 57 + 58 + pinctrl: pinctrl@40e00000 { 59 + reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4 60 + 0x40f00020 0x10>; 61 + compatible = "marvell,pxa25x-pinctrl"; 62 + }; 63 + 64 + gpio: gpio@40e00000 { 65 + compatible = "intel,pxa25x-gpio"; 66 + gpio-ranges = <&pinctrl 0 0 84>; 67 + clocks = <&clks CLK_NONE>; 68 + }; 69 + 70 + pwm0: pwm@40b00000 { 71 + compatible = "marvell,pxa250-pwm"; 72 + reg = <0x40b00000 0x10>; 73 + #pwm-cells = <1>; 74 + clocks = <&clks CLK_PWM0>; 75 + }; 76 + 77 + pwm1: pwm@40b00010 { 78 + compatible = "marvell,pxa250-pwm"; 79 + reg = <0x40b00010 0x10>; 80 + #pwm-cells = <1>; 81 + clocks = <&clks CLK_PWM1>; 82 + }; 83 + }; 84 + 85 + timer@40a00000 { 86 + compatible = "marvell,pxa-timer"; 87 + reg = <0x40a00000 0x20>; 88 + interrupts = <26>; 89 + clocks = <&clktimer>; 90 + status = "okay"; 91 + }; 92 + 93 + pxa250_opp_table: opp_table0 { 94 + compatible = "operating-points-v2"; 95 + 96 + opp@99532800 { 97 + opp-hz = /bits/ 64 <99532800>; 98 + opp-microvolt = <1000000 950000 1650000>; 99 + clock-latency-ns = <20>; 100 + }; 101 + opp@199065600 { 102 + opp-hz = /bits/ 64 <199065600>; 103 + opp-microvolt = <1000000 950000 1650000>; 104 + clock-latency-ns = <20>; 105 + }; 106 + opp@298598400 { 107 + opp-hz = /bits/ 64 <298598400>; 108 + opp-microvolt = <1100000 1045000 1650000>; 109 + clock-latency-ns = <20>; 110 + }; 111 + opp@398131200 { 112 + opp-hz = /bits/ 64 <398131200>; 113 + opp-microvolt = <1300000 1235000 1650000>; 114 + clock-latency-ns = <20>; 115 + }; 116 + }; 117 + };
+40
arch/arm/boot/dts/pxa27x.dtsi
··· 137 137 clocks = <&clks CLK_OSTIMER>; 138 138 status = "okay"; 139 139 }; 140 + 141 + pxa270_opp_table: opp_table0 { 142 + compatible = "operating-points-v2"; 143 + 144 + opp@104000000 { 145 + opp-hz = /bits/ 64 <104000000>; 146 + opp-microvolt = <900000 900000 1705000>; 147 + clock-latency-ns = <20>; 148 + }; 149 + opp@156000000 { 150 + opp-hz = /bits/ 64 <156000000>; 151 + opp-microvolt = <1000000 1000000 1705000>; 152 + clock-latency-ns = <20>; 153 + }; 154 + opp@208000000 { 155 + opp-hz = /bits/ 64 <208000000>; 156 + opp-microvolt = <1180000 1180000 1705000>; 157 + clock-latency-ns = <20>; 158 + }; 159 + opp@312000000 { 160 + opp-hz = /bits/ 64 <312000000>; 161 + opp-microvolt = <1250000 1250000 1705000>; 162 + clock-latency-ns = <20>; 163 + }; 164 + opp@416000000 { 165 + opp-hz = /bits/ 64 <416000000>; 166 + opp-microvolt = <1350000 1350000 1705000>; 167 + clock-latency-ns = <20>; 168 + }; 169 + opp@520000000 { 170 + opp-hz = /bits/ 64 <520000000>; 171 + opp-microvolt = <1450000 1450000 1705000>; 172 + clock-latency-ns = <20>; 173 + }; 174 + opp@624000000 { 175 + opp-hz = /bits/ 64 <624000000>; 176 + opp-microvolt = <1550000 1550000 1705000>; 177 + clock-latency-ns = <20>; 178 + }; 179 + }; 140 180 };
+2 -2
arch/arm/boot/dts/pxa2xx.dtsi
··· 54 54 reg = <0x40e00000 0x10000>; 55 55 gpio-controller; 56 56 #gpio-cells = <0x2>; 57 - interrupts = <10>; 58 - interrupt-names = "gpio_mux"; 57 + interrupts = <8>, <9>, <10>; 58 + interrupt-names = "gpio0", "gpio1", "gpio_mux"; 59 59 interrupt-controller; 60 60 #interrupt-cells = <0x2>; 61 61 ranges;