1 From 915fac07f053418d0ab9075af64da2872ca8a7f8 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3 Date: Wed, 3 May 2023 14:16:10 +0200
4 Subject: [PATCH] =?UTF-8?q?ARM:=20dts:=20BCM5301X:=20Relicense=20Rafa?=
5 =?UTF-8?q?=C5=82's=20code=20to=20the=20GPL=202.0+=20/=20MIT?=
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
10 All BCM5301X device DTS files use dual licensing. Try the same for SoC.
11 Introduce a new .dtsi file with a proper SPDX tag.
13 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
14 Link: https://lore.kernel.org/r/20230503121611.1629-1-zajec5@gmail.com
15 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
18 arch/arm/boot/dts/bcm-ns.dtsi | 202 ++++++++++++++++++++++++++++++++
19 arch/arm/boot/dts/bcm5301x.dtsi | 192 +-----------------------------
20 3 files changed, 205 insertions(+), 190 deletions(-)
21 create mode 100644 arch/arm/boot/dts/bcm-ns.dtsi
25 @@ -3579,6 +3579,7 @@ M: Rafał Miłecki <zajec5@gmail.com>
26 M: bcm-kernel-feedback-list@broadcom.com
27 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
29 +F: arch/arm/boot/dts/bcm-ns.dtsi
30 F: arch/arm/boot/dts/bcm470*
31 F: arch/arm/boot/dts/bcm5301*
32 F: arch/arm/boot/dts/bcm953012*
34 +++ b/arch/arm/boot/dts/bcm-ns.dtsi
36 +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
38 +#include <dt-bindings/clock/bcm-nsp.h>
39 +#include <dt-bindings/gpio/gpio.h>
40 +#include <dt-bindings/input/input.h>
41 +#include <dt-bindings/interrupt-controller/irq.h>
42 +#include <dt-bindings/interrupt-controller/arm-gic.h>
46 + compatible = "brcm,bus-axi";
47 + reg = <0x18000000 0x1000>;
48 + ranges = <0x00000000 0x18000000 0x00100000>;
49 + #address-cells = <1>;
52 + chipcommon: chipcommon@0 {
53 + reg = <0x00000000 0x1000>;
60 + reg = <0x00012000 0x1000>;
64 + reg = <0x00013000 0x1000>;
68 + reg = <0x00021000 0x1000>;
70 + #address-cells = <1>;
74 + interrupt-parent = <&gic>;
79 + compatible = "generic-ehci";
80 + reg = <0x00021000 0x1000>;
81 + interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
84 + #address-cells = <1>;
87 + ehci_port1: port@1 {
89 + #trigger-source-cells = <0>;
92 + ehci_port2: port@2 {
94 + #trigger-source-cells = <0>;
101 + compatible = "generic-ohci";
102 + reg = <0x00022000 0x1000>;
103 + interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
105 + #address-cells = <1>;
108 + ohci_port1: port@1 {
110 + #trigger-source-cells = <0>;
113 + ohci_port2: port@2 {
115 + #trigger-source-cells = <0>;
121 + reg = <0x00023000 0x1000>;
123 + #address-cells = <1>;
127 + interrupt-parent = <&gic>;
132 + compatible = "generic-xhci";
133 + reg = <0x00023000 0x1000>;
134 + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
135 + phys = <&usb3_phy>;
138 + #address-cells = <1>;
141 + xhci_port1: port@1 {
143 + #trigger-source-cells = <0>;
149 + mdio: mdio@18003000 {
150 + compatible = "brcm,iproc-mdio";
151 + reg = <0x18003000 0x8>;
153 + #address-cells = <1>;
157 + compatible = "simple-bus";
158 + ranges = <0 0x1800c000 0x1000>;
159 + #address-cells = <1>;
163 + compatible = "brcm,ns-cru", "simple-mfd";
164 + reg = <0x100 0x1a4>;
166 + #address-cells = <1>;
169 + usb2_phy: phy@164 {
170 + compatible = "brcm,ns-usb2-phy";
172 + brcm,syscon-clkset = <&cru_clkset>;
173 + clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
174 + clock-names = "phy-ref-clk";
178 + cru_clkset: syscon@180 {
179 + compatible = "brcm,cru-clkset", "syscon";
183 + pinctrl: pinctrl@1c0 {
184 + compatible = "brcm,bcm4708-pinmux";
185 + reg = <0x1c0 0x24>;
186 + reg-names = "cru_gpio_control";
189 + groups = "spi_grp";
193 + pinmux_i2c: i2c-pins {
194 + groups = "i2c_grp";
198 + pinmux_pwm: pwm-pins {
199 + groups = "pwm0_grp", "pwm1_grp",
200 + "pwm2_grp", "pwm3_grp";
204 + pinmux_uart1: uart1-pins {
205 + groups = "uart1_grp";
206 + function = "uart1";
210 + thermal: thermal@2c0 {
211 + compatible = "brcm,ns-thermal";
212 + reg = <0x2c0 0x10>;
213 + #thermal-sensor-cells = <0>;
219 + cpu_thermal: cpu-thermal {
220 + polling-delay-passive = <0>;
221 + polling-delay = <1000>;
222 + coefficients = <(-556) 418000>;
223 + thermal-sensors = <&thermal>;
227 + temperature = <125000>;
238 --- a/arch/arm/boot/dts/bcm5301x.dtsi
239 +++ b/arch/arm/boot/dts/bcm5301x.dtsi
241 * Licensed under the GNU/GPL. See COPYING for details.
244 -#include <dt-bindings/clock/bcm-nsp.h>
245 -#include <dt-bindings/gpio/gpio.h>
246 -#include <dt-bindings/input/input.h>
247 -#include <dt-bindings/interrupt-controller/irq.h>
248 -#include <dt-bindings/interrupt-controller/arm-gic.h>
249 +#include "bcm-ns.dtsi"
252 #address-cells = <1>;
257 - compatible = "brcm,bus-axi";
258 - reg = <0x18000000 0x1000>;
259 - ranges = <0x00000000 0x18000000 0x00100000>;
260 - #address-cells = <1>;
263 #interrupt-cells = <1>;
264 interrupt-map-mask = <0x000fffff 0xffff>;
266 @@ -228,108 +218,15 @@
267 <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
268 <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
270 - chipcommon: chipcommon@0 {
271 - reg = <0x00000000 0x1000>;
276 interrupt-controller;
277 #interrupt-cells = <2>;
280 - pcie0: pcie@12000 {
281 - reg = <0x00012000 0x1000>;
284 - pcie1: pcie@13000 {
285 - reg = <0x00013000 0x1000>;
289 reg = <0x00014000 0x1000>;
293 - reg = <0x00021000 0x1000>;
295 - #address-cells = <1>;
299 - interrupt-parent = <&gic>;
304 - compatible = "generic-ehci";
305 - reg = <0x00021000 0x1000>;
306 - interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
307 - phys = <&usb2_phy>;
309 - #address-cells = <1>;
312 - ehci_port1: port@1 {
314 - #trigger-source-cells = <0>;
317 - ehci_port2: port@2 {
319 - #trigger-source-cells = <0>;
326 - compatible = "generic-ohci";
327 - reg = <0x00022000 0x1000>;
328 - interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
330 - #address-cells = <1>;
333 - ohci_port1: port@1 {
335 - #trigger-source-cells = <0>;
338 - ohci_port2: port@2 {
340 - #trigger-source-cells = <0>;
346 - reg = <0x00023000 0x1000>;
348 - #address-cells = <1>;
352 - interrupt-parent = <&gic>;
357 - compatible = "generic-xhci";
358 - reg = <0x00023000 0x1000>;
359 - interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
360 - phys = <&usb3_phy>;
363 - #address-cells = <1>;
366 - xhci_port1: port@1 {
368 - #trigger-source-cells = <0>;
373 gmac0: ethernet@24000 {
374 reg = <0x24000 0x800>;
380 - mdio: mdio@18003000 {
381 - compatible = "brcm,iproc-mdio";
382 - reg = <0x18003000 0x8>;
384 - #address-cells = <1>;
388 compatible = "mdio-mux-mmioreg", "mdio-mux";
389 mdio-parent-bus = <&mdio>;
394 - compatible = "simple-bus";
395 - ranges = <0 0x1800c000 0x1000>;
396 - #address-cells = <1>;
400 - compatible = "brcm,ns-cru", "simple-mfd";
401 - reg = <0x100 0x1a4>;
403 - #address-cells = <1>;
406 lcpll0: clock-controller@100 {
408 compatible = "brcm,nsp-lcpll0";
410 "usbclk", "iprocfast",
414 - usb2_phy: phy@164 {
415 - compatible = "brcm,ns-usb2-phy";
417 - brcm,syscon-clkset = <&cru_clkset>;
418 - clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
419 - clock-names = "phy-ref-clk";
423 - cru_clkset: syscon@180 {
424 - compatible = "brcm,cru-clkset", "syscon";
428 - pinctrl: pinctrl@1c0 {
429 - compatible = "brcm,bcm4708-pinmux";
430 - reg = <0x1c0 0x24>;
431 - reg-names = "cru_gpio_control";
434 - groups = "spi_grp";
438 - pinmux_i2c: i2c-pins {
439 - groups = "i2c_grp";
443 - pinmux_pwm: pwm-pins {
444 - groups = "pwm0_grp", "pwm1_grp",
445 - "pwm2_grp", "pwm3_grp";
449 - pinmux_uart1: uart1-pins {
450 - groups = "uart1_grp";
451 - function = "uart1";
455 - thermal: thermal@2c0 {
456 - compatible = "brcm,ns-thermal";
457 - reg = <0x2c0 0x10>;
458 - #thermal-sensor-cells = <0>;
469 - cpu_thermal: cpu-thermal {
470 - polling-delay-passive = <0>;
471 - polling-delay = <1000>;
472 - coefficients = <(-556) 418000>;
473 - thermal-sensors = <&thermal>;
477 - temperature = <125000>;