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

Merge tag 'at91-dt-5.20-4' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for v5.20 #4

It contains one new LAN966 based board, namely pcb8309, a cleanup
on Makefile to sort alphabetically LAN966 entries and 2 cleanups
on bindings.

* tag 'at91-dt-5.20-4' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
dt-bindings: soc: microchip: use absolute path to other schema
dt-bindings: soc: microchip: drop quotes when not needed
ARM: dts: lan966x: keep lan966 entries alphabetically sorted
ARM: dts: lan966x: add support for pcb8309
dt-bindings: arm: at91: add lan966 pcb8309 board

Link: https://lore.kernel.org/r/20220727075749.2445000-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+196 -9
+4 -2
Documentation/devicetree/bindings/arm/atmel-at91.yaml
··· 163 163 - const: microchip,sama7g5 164 164 - const: microchip,sama7 165 165 166 - - description: Microchip LAN9662 PCB8291 Evaluation Board. 166 + - description: Microchip LAN9662 Evaluation Boards. 167 167 items: 168 - - const: microchip,lan9662-pcb8291 168 + - enum: 169 + - microchip,lan9662-pcb8291 170 + - microchip,lan9662-pcb8309 169 171 - const: microchip,lan9662 170 172 - const: microchip,lan966 171 173
+3 -3
Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: "http://devicetree.org/schemas/soc/microchip/atmel,at91rm9200-tcb.yaml#" 5 - $schema: "http://devicetree.org/meta-schemas/core.yaml#" 4 + $id: http://devicetree.org/schemas/soc/microchip/atmel,at91rm9200-tcb.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Atmel Timer Counter Block 8 8 ··· 75 75 76 76 "^pwm@[0-2]$": 77 77 description: The timer block channels that are used as PWMs. 78 - $ref: ../../pwm/pwm.yaml# 78 + $ref: /schemas/pwm/pwm.yaml# 79 79 type: object 80 80 properties: 81 81 compatible:
+2 -2
Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: "http://devicetree.org/schemas/soc/microchip/microchip,mpfs-sys-controller.yaml#" 5 - $schema: "http://devicetree.org/meta-schemas/core.yaml#" 4 + $id: http://devicetree.org/schemas/soc/microchip/microchip,mpfs-sys-controller.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Microchip PolarFire SoC (MPFS) MSS (microprocessor subsystem) system controller 8 8
+3 -2
arch/arm/boot/dts/Makefile
··· 784 784 dtb-$(CONFIG_SOC_IMXRT) += \ 785 785 imxrt1050-evk.dtb 786 786 dtb-$(CONFIG_SOC_LAN966) += \ 787 - lan966x-pcb8291.dtb \ 788 787 lan966x-kontron-kswitch-d10-mmt-6g-2gs.dtb \ 789 - lan966x-kontron-kswitch-d10-mmt-8g.dtb 788 + lan966x-kontron-kswitch-d10-mmt-8g.dtb \ 789 + lan966x-pcb8291.dtb \ 790 + lan966x-pcb8309.dtb 790 791 dtb-$(CONFIG_SOC_LS1021A) += \ 791 792 ls1021a-iot.dtb \ 792 793 ls1021a-moxa-uc-8410a.dtb \
+184
arch/arm/boot/dts/lan966x-pcb8309.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * lan966x_pcb8309.dts - Device Tree file for PCB8309 4 + */ 5 + /dts-v1/; 6 + #include "lan966x.dtsi" 7 + #include "dt-bindings/phy/phy-lan966x-serdes.h" 8 + 9 + / { 10 + model = "Microchip EVB - LAN9662"; 11 + compatible = "microchip,lan9662-pcb8309", "microchip,lan9662", "microchip,lan966"; 12 + 13 + aliases { 14 + serial0 = &usart3; 15 + i2c102 = &i2c102; 16 + i2c103 = &i2c103; 17 + }; 18 + 19 + chosen { 20 + stdout-path = "serial0:115200n8"; 21 + }; 22 + 23 + gpio-restart { 24 + compatible = "gpio-restart"; 25 + gpios = <&gpio 56 GPIO_ACTIVE_LOW>; 26 + priority = <200>; 27 + }; 28 + 29 + i2c-mux { 30 + compatible = "i2c-mux"; 31 + #address-cells = <1>; 32 + #size-cells = <0>; 33 + mux-controls = <&mux>; 34 + i2c-parent = <&i2c4>; 35 + 36 + i2c102: i2c-sfp@1 { 37 + reg = <1>; 38 + }; 39 + 40 + i2c103: i2c-sfp@2 { 41 + reg = <2>; 42 + }; 43 + }; 44 + 45 + mux: mux-controller { 46 + compatible = "gpio-mux"; 47 + #mux-control-cells = <0>; 48 + 49 + mux-gpios = <&sgpio_out 11 0 GPIO_ACTIVE_HIGH>, /* p11b0 */ 50 + <&sgpio_out 11 1 GPIO_ACTIVE_HIGH>; /* p11b1 */ 51 + }; 52 + 53 + sfp2: sfp2 { 54 + compatible = "sff,sfp"; 55 + i2c-bus = <&i2c102>; 56 + tx-disable-gpios = <&sgpio_out 10 0 GPIO_ACTIVE_LOW>; 57 + los-gpios = <&sgpio_in 2 0 GPIO_ACTIVE_HIGH>; 58 + mod-def0-gpios = <&sgpio_in 2 1 GPIO_ACTIVE_LOW>; 59 + tx-fault-gpios = <&sgpio_in 1 0 GPIO_ACTIVE_HIGH>; 60 + }; 61 + 62 + sfp3: sfp3 { 63 + compatible = "sff,sfp"; 64 + i2c-bus = <&i2c103>; 65 + tx-disable-gpios = <&sgpio_out 10 1 GPIO_ACTIVE_LOW>; 66 + los-gpios = <&sgpio_in 3 0 GPIO_ACTIVE_HIGH>; 67 + mod-def0-gpios = <&sgpio_in 3 1 GPIO_ACTIVE_LOW>; 68 + tx-fault-gpios = <&sgpio_in 1 1 GPIO_ACTIVE_HIGH>; 69 + }; 70 + }; 71 + 72 + &flx3 { 73 + atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 74 + status = "okay"; 75 + 76 + usart3: serial@200 { 77 + pinctrl-0 = <&fc3_b_pins>; 78 + pinctrl-names = "default"; 79 + status = "okay"; 80 + }; 81 + }; 82 + 83 + &flx4 { 84 + atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 85 + status = "okay"; 86 + 87 + i2c4: i2c@600 { 88 + compatible = "microchip,sam9x60-i2c"; 89 + reg = <0x600 0x200>; 90 + interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 91 + clocks = <&nic_clk>; 92 + pinctrl-0 = <&fc4_b_pins>; 93 + pinctrl-names = "default"; 94 + i2c-analog-filter; 95 + i2c-digital-filter; 96 + i2c-digital-filter-width-ns = <35>; 97 + i2c-sda-hold-time-ns = <1500>; 98 + status = "okay"; 99 + }; 100 + }; 101 + 102 + &gpio { 103 + fc3_b_pins: fc3-b-pins { 104 + /* RXD, TXD */ 105 + pins = "GPIO_52", "GPIO_53"; 106 + function = "fc3_b"; 107 + }; 108 + 109 + fc4_b_pins: fc4-b-pins { 110 + /* SCL, SDA */ 111 + pins = "GPIO_57", "GPIO_58"; 112 + function = "fc4_b"; 113 + }; 114 + 115 + sgpio_a_pins: sgpio-a-pins { 116 + /* SCK, D0, D1, LD */ 117 + pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35"; 118 + function = "sgpio_a"; 119 + }; 120 + }; 121 + 122 + &mdio1 { 123 + status = "okay"; 124 + }; 125 + 126 + &phy0 { 127 + status = "okay"; 128 + }; 129 + 130 + &phy1 { 131 + status = "okay"; 132 + }; 133 + 134 + &port0 { 135 + phy-handle = <&phy0>; 136 + phy-mode = "gmii"; 137 + phys = <&serdes 0 CU(0)>; 138 + status = "okay"; 139 + }; 140 + 141 + &port1 { 142 + phy-handle = <&phy1>; 143 + phy-mode = "gmii"; 144 + phys = <&serdes 1 CU(1)>; 145 + status = "okay"; 146 + }; 147 + 148 + &port2 { 149 + sfp = <&sfp2>; 150 + managed = "in-band-status"; 151 + phy-mode = "sgmii"; 152 + phys = <&serdes 2 SERDES6G(0)>; 153 + status = "okay"; 154 + }; 155 + 156 + &port3 { 157 + sfp = <&sfp3>; 158 + managed = "in-band-status"; 159 + phy-mode = "sgmii"; 160 + phys = <&serdes 3 SERDES6G(1)>; 161 + status = "okay"; 162 + }; 163 + 164 + &serdes { 165 + status = "okay"; 166 + }; 167 + 168 + &sgpio { 169 + pinctrl-0 = <&sgpio_a_pins>; 170 + pinctrl-names = "default"; 171 + microchip,sgpio-port-ranges = <0 3>, <8 11>; 172 + status = "okay"; 173 + 174 + gpio@0 { 175 + ngpios = <64>; 176 + }; 177 + gpio@1 { 178 + ngpios = <64>; 179 + }; 180 + }; 181 + 182 + &switch { 183 + status = "okay"; 184 + };