Gemini changes for the v5.16 kernel cycle:

- Add device trees for Edimax NS2502 and SSI 1328
 
 - Consolidate PCI interrupts
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmFvZngACgkQQRCzN7AZ
 XXOBbQ/+PzHFvBVRwBTPPsuqBTrbl2MOn95/M6NTh7/aQ82KdHzZK9MtLkSrir5D
 wvxOdDk5uyupwNJNkV9dnAspVlzyOlA14dwXEDUbhvfrttwbBwunGeODh0DzpTxW
 ap7tPcucH0VCUJuQcZTfzlnCgWh85qQOP1WkROoVsHcO2tSy81m2/0usqNoLJWAw
 zAQXkGmM0iwwWUw5H3sZ3aS6ypXZLTL4TO/D3MStY/xwWDsYuzEEVTDztx+aLzDw
 0LVX5n8VoWdpBo35YwjSlvIVlDS6giOwLifZutmSfapssWVfWdEkvS9hwGbZGk7H
 dVCNn0oXy580hB53Mf2jPhqylhaeMB1/7HT0D3WESu4PxA8PXpYyq3z7rXAW9FJf
 vwhhOQAAi7TsQ1NF//CcDtHB7RWKQvwN2f9aahXHFD6h55ZT1y4bT0H5MGCsL0Tr
 pm9gXkFHPVp+r71Itb3bappZUb+ojaROJfkXk2F1p5zF4AbbS5mdoKZRAC0LXP6D
 3Un+FxDwJNp93eRm2hhU3/k2qKGb4W93k4JvCmBnh3xZDDduoab3AkUQVQ1GnMRm
 gUOUnH5WaodN8oTFvZPB7d2iNufSm2PL1vT9kdmhu2B8kgD4j4Uoqoz/nKnCMpKX
 Q7AWWpnyIywhXgWJ2RMyspo3ACE+HXA9e5tB9mkwFuG6+0fsILw=
 =GuAG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFwGycACgkQmmx57+YA
 GNk6vw//b7JDToUJK6pS+x8vHObaM2vYh845KqlNCl9YzYga6dfnHAgxN3QTEMca
 hB3NxGXxP93ULxKVom9IKsznNIkm+2MVkdUIlixR2fMp16/GFWT6XKS1iwAi+hZZ
 G8jhZV+N88fBd8UDNaPmho43L5shVLW5li1ixR/tTcpKXiUKWCnaFbj9xxcMo6bC
 iac0ygprkuA5WlD7NRtHAMUo6SLYWhFDNFxaVmP7YW03F37Dzb/C673k8coCoo5o
 WFKOX/H4LSYXQo+liNQMcAp25dckAC9ewkgBtgwaWj4tIiN6wd+wSDlz7B9mMp5j
 I5QPG8t8iqcwFosVb0n/7pe5V2hybTyVfzbxX5JoDbI2ZxT9WZmlUtqfzfbMUyny
 WiJMuNhkQZbT9IOuwJlRsINXnEnHvwkbzpd5pgJ/VB56yZ3BnIuEB+tKULXUOqEY
 VDWvf0wg6QHyW+d6I61MRRL7ZPrGQcwYhFHOJx79x3eWkQsiv76bvJPZNeIXD1VW
 OGdp46WB6BAc+LR8ADNuYXtjBoh9clOdw9urFUdXHxslAUJfwZUds5+CUDz40A1D
 blP6MfeGCxtY7b72GyWxR05YkxaJln8E/cNgFzV+FckupcNwVhIJmvgwN+hu6LFi
 ONCz/LY7lcyVpps33evRe+14sJLW/kTDX6hfncbTsJAuNSeJSww=
 =5580
 -----END PGP SIGNATURE-----

Merge tag 'gemini-dts-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt

Gemini changes for the v5.16 kernel cycle:

- Add device trees for Edimax NS2502 and SSI 1328

- Consolidate PCI interrupts

* tag 'gemini-dts-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: gemini: Consolidate PCI interrupt-map properties
  ARM: gemini: add device tree for ssi1328
  ARM: gemini: add device tree for edimax NS2502
  dt-bindings: add vendor prefix for ssi
  dt-bindings: add vendor prefix for edimax
  ARM: dts: gemini: add labels for USB, IDE, flash and ethernet

Link: https://lore.kernel.org/r/CACRpkdac5Sbt42CtuLMgCazfHdhcP98mEKGjeZ-DVcb=_N90Bg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2021-10-20 15:35:34 +02:00
commit 7b27dc2769
10 changed files with 318 additions and 97 deletions

View File

@ -337,6 +337,8 @@ patternProperties:
description: EBV Elektronik
"^eckelmann,.*":
description: Eckelmann AG
"^edimax,.*":
description: EDIMAX Technology Co., Ltd
"^edt,.*":
description: Emerging Display Technologies
"^eeti,.*":
@ -1108,6 +1110,8 @@ patternProperties:
description: SparkFun Electronics
"^sprd,.*":
description: Spreadtrum Communications Inc.
"^ssi,.*":
description: SSI Computer Corp
"^sst,.*":
description: Silicon Storage Technology, Inc.
"^sstar,.*":

View File

@ -229,9 +229,11 @@ dtb-$(CONFIG_ARCH_GEMINI) += \
gemini-dlink-dir-685.dtb \
gemini-dlink-dns-313.dtb \
gemini-nas4220b.dtb \
gemini-ns2502.dtb \
gemini-rut1xx.dtb \
gemini-sl93512r.dtb \
gemini-sq201.dtb \
gemini-ssi1328.dtb \
gemini-wbd111.dtb \
gemini-wbd222.dtb
dtb-$(CONFIG_ARCH_HI3xxx) += \

View File

@ -439,24 +439,6 @@
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ethernet@60000000 {

View File

@ -0,0 +1,148 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2021 Corentin Labbe <clabbe@baylibre.com>
* Device Tree file for Edimax NS 2502
*/
/dts-v1/;
#include "gemini.dtsi"
/ {
model = "Edimax NS-2502";
compatible = "edimax,ns-2502", "cortina,gemini";
#address-cells = <1>;
#size-cells = <1>;
memory@0 {
/* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
aliases {
mdio-gpio0 = &mdio0;
};
chosen {
bootargs = "console=ttyS0,19200n8";
stdout-path = &uart0;
};
mdio0: mdio {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
/* We lack the knowledge of necessary GPIO to achieve
* Gigabit
*/
max-speed = <100>;
};
};
};
&ethernet {
status = "okay";
ethernet-port@0 {
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
};
&flash {
status = "okay";
/* 8MB of flash */
reg = <0x30000000 0x00800000>;
pinctrl-names = "enabled", "disabled";
pinctrl-0 = <&pflash_default_pins>;
pinctrl-1 = <&pflash_disabled_pins>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "RedBoot";
reg = <0x00000000 0x00020000>;
};
partition@20000 {
label = "kernel";
reg = <0x00020000 0x00700000>;
};
partition@720000 {
label = "VCTL";
reg = <0x00720000 0x00020000>;
};
partition@740000 {
label = "CurConf";
reg = <0x00740000 0x000a0000>;
};
partition@7e0000 {
label = "FIS";
reg = <0x007e0000 0x00010000>;
};
};
};
&gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
&ide0 {
status = "okay";
};
&ide1 {
status = "okay";
};
&sata {
cortina,gemini-ata-muxmode = <3>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
&syscon {
pinctrl {
/*
* gpio0agrp cover line 0-4
* gpio0bgrp cover line 5
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0agrp", "gpio0bgrp", "gpio0hgrp";
};
};
pflash_disabled_pins: pinctrl-pflash-disabled {
mux {
function = "gpio0";
groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp",
"gpio0kgrp";
};
};
pinctrl-gmii {
mux {
function = "gmii";
groups = "gmii_gmac0_grp";
};
};
};
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@ -256,24 +256,6 @@
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ethernet@60000000 {

View File

@ -252,24 +252,6 @@
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ethernet@60000000 {

View File

@ -0,0 +1,138 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2021 Corentin Labbe <clabbe@baylibre.com>
* Device Tree file for SSI 1328
*/
/dts-v1/;
#include "gemini.dtsi"
/ {
model = "SSI 1328";
compatible = "ssi,1328", "cortina,gemini";
#address-cells = <1>;
#size-cells = <1>;
memory@0 {
/* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
aliases {
mdio-gpio0 = &mdio0;
};
chosen {
bootargs = "console=ttyS0,19200n8 initrd=0x900000,9M";
stdout-path = &uart0;
};
mdio0: mdio {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
/* LAN Marvell 88E1118 */
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
/* We lack the knowledge of necessary GPIO to achieve
* Gigabit
*/
max-speed = <100>;
};
/* WAN ICPlus IP101A */
phy1: ethernet-phy@2 {
reg = <2>;
device_type = "ethernet-phy";
};
};
};
&ethernet {
status = "okay";
ethernet-port@0 {
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet-port@1 {
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
};
&flash {
status = "okay";
/* 32MB of flash */
reg = <0x30000000 0x03200000>;
pinctrl-names = "enabled", "disabled";
pinctrl-0 = <&pflash_default_pins>;
pinctrl-1 = <&pflash_disabled_pins>;
partitions {
compatible = "redboot-fis";
/* Eraseblock at 0xfe0000 */
fis-index-block = <0x7F>;
};
};
&gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
&ide0 {
status = "okay";
};
&ide1 {
status = "okay";
};
&sata {
cortina,gemini-ata-muxmode = <0>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
&syscon {
pinctrl {
/*
* gpio0agrp cover line 0-4
* gpio0bgrp cover line 5
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups = "gpio0agrp", "gpio0bgrp";
};
};
pflash_disabled_pins: pinctrl-pflash-disabled {
mux {
function = "gpio0";
groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp",
"gpio0kgrp";
};
};
pinctrl-gmii {
/* This platform use both the ethernet ports */
mux {
function = "gmii";
groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
};
};
};
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@ -140,24 +140,6 @@
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ethernet@60000000 {

View File

@ -151,24 +151,6 @@
pci@50000000 {
status = "okay";
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
};
ethernet@60000000 {

View File

@ -16,7 +16,7 @@
compatible = "simple-bus";
interrupt-parent = <&intcon>;
flash@30000000 {
flash: flash@30000000 {
compatible = "cortina,gemini-flash", "cfi-flash";
syscon = <&syscon>;
pinctrl-names = "default";
@ -289,9 +289,28 @@
device_type = "pci";
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
status = "disabled";
#interrupt-cells = <1>;
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map =
<0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
<0x4800 0 0 2 &pci_intc 1>,
<0x4800 0 0 3 &pci_intc 2>,
<0x4800 0 0 4 &pci_intc 3>,
<0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
<0x5000 0 0 2 &pci_intc 2>,
<0x5000 0 0 3 &pci_intc 3>,
<0x5000 0 0 4 &pci_intc 0>,
<0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
<0x5800 0 0 2 &pci_intc 3>,
<0x5800 0 0 3 &pci_intc 0>,
<0x5800 0 0 4 &pci_intc 1>,
<0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
<0x6000 0 0 2 &pci_intc 0>,
<0x6000 0 0 3 &pci_intc 1>,
<0x6000 0 0 4 &pci_intc 2>;
bus-range = <0x00 0xff>;
/* PCI ranges mappings */
ranges =
@ -322,7 +341,7 @@
};
};
ethernet@60000000 {
ethernet: ethernet@60000000 {
compatible = "cortina,gemini-ethernet";
reg = <0x60000000 0x4000>, /* Global registers, queue */
<0x60004000 0x2000>, /* V-bit */
@ -365,7 +384,7 @@
clocks = <&syscon GEMINI_CLK_GATE_SECURITY>;
};
ide@63000000 {
ide0: ide@63000000 {
compatible = "cortina,gemini-pata", "faraday,ftide010";
reg = <0x63000000 0x1000>;
interrupts = <4 IRQ_TYPE_EDGE_RISING>;
@ -378,7 +397,7 @@
#size-cells = <0>;
};
ide@63400000 {
ide1: ide@63400000 {
compatible = "cortina,gemini-pata", "faraday,ftide010";
reg = <0x63400000 0x1000>;
interrupts = <5 IRQ_TYPE_EDGE_RISING>;
@ -421,7 +440,7 @@
status = "disabled";
};
usb@68000000 {
usb0: usb@68000000 {
compatible = "cortina,gemini-usb", "faraday,fotg210";
reg = <0x68000000 0x1000>;
interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
@ -442,7 +461,7 @@
status = "disabled";
};
usb@69000000 {
usb1: usb@69000000 {
compatible = "cortina,gemini-usb", "faraday,fotg210";
reg = <0x69000000 0x1000>;
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;