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

Merge tag 'at91-dt-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.12

It contains:
- SAMA7G5-EK DTS was updated with EEPROM nodes containing Ethernet
addresses (needed, at least, when U-Boot is removed from the booting
chain)
- 5V supplies were added to to MCP16502 PMIC nodes for better hardware
description
- cleanups around pinctrl nodes which removed many dtbs_check warnings;
along with it the pinctrl documentation was converted to json schema
- fixes for the RTC and RTT supply clocks on SAMA7G5 and SAM9X60
- other cleanups to fix dtbs_check warnings

* tag 'at91-dt-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
ARM: dts: microchip: sama7g5: Fix RTT clock
ARM: dts: microchip: sam9x60: Fix rtc/rtt clocks
dt-bindings: pinctrl: Convert Atmel PIO3 pinctrl to json-schema
ARM: dts: microchip: sam9x60: Remove additional compatible string from GPIO node
ARM: dts: microchip: Remove additional compatible string from PIO3 pinctrl nodes
ARM: dts: microchip: change to simple-mfd from simple-bus for PIO3 pinumux controller
ARM: dts: microchip: sama5d29_curiosity: Add reg_5v to supply PMIC nodes
ARM: dts: microchip: at91-sama5d27_wlsom1: Add reg_5v to supply PMIC nodes
ARM: dts: microchip: at91-sama5d2_icp: Add reg_5v to supply PMIC nodes
ARM: dts: microchip: at91-sama7g54_curiosity: Add reg_5v to supply PMIC nodes
ARM: dts: microchip: at91-sama7g5ek: Add reg_5v to supply PMIC nodes
ARM: dts: microchip: at91: align LED node name with bindings
ARM: dts: microchip: sam9x60: Move i2c address/size to dtsi
ARM: dts: microchip: at91-sama7g5ek: add EEPROMs

Link: https://lore.kernel.org/r/20240901133110.2038675-2-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+352 -221
-178
Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
··· 1 - * Atmel AT91 Pinmux Controller 2 - 3 - The AT91 Pinmux Controller, enables the IC 4 - to share one PAD to several functional blocks. The sharing is done by 5 - multiplexing the PAD input/output signals. For each PAD there are up to 6 - 8 muxing options (called periph modes). Since different modules require 7 - different PAD settings (like pull up, keeper, etc) the controller controls 8 - also the PAD settings parameters. 9 - 10 - Please refer to pinctrl-bindings.txt in this directory for details of the 11 - common pinctrl bindings used by client devices, including the meaning of the 12 - phrase "pin configuration node". 13 - 14 - Atmel AT91 pin configuration node is a node of a group of pins which can be 15 - used for a specific device or function. This node represents both mux and config 16 - of the pins in that group. The 'pins' selects the function mode(also named pin 17 - mode) this pin can work on and the 'config' configures various pad settings 18 - such as pull-up, multi drive, etc. 19 - 20 - Required properties for iomux controller: 21 - - compatible: "atmel,at91rm9200-pinctrl" or "atmel,at91sam9x5-pinctrl" 22 - or "atmel,sama5d3-pinctrl" or "microchip,sam9x60-pinctrl" 23 - or "microchip,sam9x7-pinctrl", "microchip,sam9x60-pinctrl" 24 - - atmel,mux-mask: array of mask (periph per bank) to describe if a pin can be 25 - configured in this periph mode. All the periph and bank need to be describe. 26 - 27 - How to create such array: 28 - 29 - Each column will represent the possible peripheral of the pinctrl 30 - Each line will represent a pio bank 31 - 32 - Take an example on the 9260 33 - Peripheral: 2 ( A and B) 34 - Bank: 3 (A, B and C) 35 - => 36 - 37 - /* A B */ 38 - 0xffffffff 0xffc00c3b /* pioA */ 39 - 0xffffffff 0x7fff3ccf /* pioB */ 40 - 0xffffffff 0x007fffff /* pioC */ 41 - 42 - For each peripheral/bank we will describe in a u32 if a pin can be 43 - configured in it by putting 1 to the pin bit (1 << pin) 44 - 45 - Let's take the pioA on peripheral B 46 - From the datasheet Table 10-2. 47 - Peripheral B 48 - PA0 MCDB0 49 - PA1 MCCDB 50 - PA2 51 - PA3 MCDB3 52 - PA4 MCDB2 53 - PA5 MCDB1 54 - PA6 55 - PA7 56 - PA8 57 - PA9 58 - PA10 ETX2 59 - PA11 ETX3 60 - PA12 61 - PA13 62 - PA14 63 - PA15 64 - PA16 65 - PA17 66 - PA18 67 - PA19 68 - PA20 69 - PA21 70 - PA22 ETXER 71 - PA23 ETX2 72 - PA24 ETX3 73 - PA25 ERX2 74 - PA26 ERX3 75 - PA27 ERXCK 76 - PA28 ECRS 77 - PA29 ECOL 78 - PA30 RXD4 79 - PA31 TXD4 80 - 81 - => 0xffc00c3b 82 - 83 - Required properties for pin configuration node: 84 - - atmel,pins: 4 integers array, represents a group of pins mux and config 85 - setting. The format is atmel,pins = <PIN_BANK PIN_BANK_NUM PERIPH CONFIG>. 86 - The PERIPH 0 means gpio, PERIPH 1 is periph A, PERIPH 2 is periph B... 87 - PIN_BANK 0 is pioA, PIN_BANK 1 is pioB... 88 - 89 - Bits used for CONFIG: 90 - PULL_UP (1 << 0): indicate this pin needs a pull up. 91 - MULTIDRIVE (1 << 1): indicate this pin needs to be configured as multi-drive. 92 - Multi-drive is equivalent to open-drain type output. 93 - DEGLITCH (1 << 2): indicate this pin needs deglitch. 94 - PULL_DOWN (1 << 3): indicate this pin needs a pull down. 95 - DIS_SCHMIT (1 << 4): indicate this pin needs to the disable schmitt trigger. 96 - DRIVE_STRENGTH (3 << 5): indicate the drive strength of the pin using the 97 - following values: 98 - 00 - No change (reset state value kept) 99 - 01 - Low 100 - 10 - Medium 101 - 11 - High 102 - OUTPUT (1 << 7): indicate this pin need to be configured as an output. 103 - OUTPUT_VAL (1 << 8): output val (1 = high, 0 = low) 104 - SLEWRATE (1 << 9): slew rate of the pin: 0 = disable, 1 = enable 105 - DEBOUNCE (1 << 16): indicate this pin needs debounce. 106 - DEBOUNCE_VAL (0x3fff << 17): debounce value. 107 - 108 - NOTE: 109 - Some requirements for using atmel,at91rm9200-pinctrl binding: 110 - 1. We have pin function node defined under at91 controller node to represent 111 - what pinmux functions this SoC supports. 112 - 2. The driver can use the function node's name and pin configuration node's 113 - name describe the pin function and group hierarchy. 114 - For example, Linux at91 pinctrl driver takes the function node's name 115 - as the function name and pin configuration node's name as group name to 116 - create the map table. 117 - 3. Each pin configuration node should have a phandle, devices can set pins 118 - configurations by referring to the phandle of that pin configuration node. 119 - 4. The gpio controller must be describe in the pinctrl simple-bus. 120 - 121 - For each bank the required properties are: 122 - - compatible: "atmel,at91sam9x5-gpio" or "atmel,at91rm9200-gpio" or 123 - "microchip,sam9x60-gpio" 124 - or "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio" 125 - - reg: physical base address and length of the controller's registers 126 - - interrupts: interrupt outputs from the controller 127 - - interrupt-controller: marks the device node as an interrupt controller 128 - - #interrupt-cells: should be 2; refer to ../interrupt-controller/interrupts.txt 129 - for more details. 130 - - gpio-controller 131 - - #gpio-cells: should be 2; the first cell is the GPIO number and the second 132 - cell specifies GPIO flags as defined in <dt-bindings/gpio/gpio.h>. 133 - - clocks: bank clock 134 - 135 - Examples: 136 - 137 - pinctrl@fffff400 { 138 - #address-cells = <1>; 139 - #size-cells = <1>; 140 - ranges; 141 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 142 - reg = <0xfffff400 0x600>; 143 - 144 - pioA: gpio@fffff400 { 145 - compatible = "atmel,at91sam9x5-gpio"; 146 - reg = <0xfffff400 0x200>; 147 - interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 148 - #gpio-cells = <2>; 149 - gpio-controller; 150 - interrupt-controller; 151 - #interrupt-cells = <2>; 152 - clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 153 - }; 154 - 155 - atmel,mux-mask = < 156 - /* A B */ 157 - 0xffffffff 0xffc00c3b /* pioA */ 158 - 0xffffffff 0x7fff3ccf /* pioB */ 159 - 0xffffffff 0x007fffff /* pioC */ 160 - >; 161 - 162 - /* shared pinctrl settings */ 163 - dbgu { 164 - pinctrl_dbgu: dbgu-0 { 165 - atmel,pins = 166 - <1 14 0x1 0x0 /* PB14 periph A */ 167 - 1 15 0x1 0x1>; /* PB15 periph A with pullup */ 168 - }; 169 - }; 170 - }; 171 - 172 - dbgu: serial@fffff200 { 173 - compatible = "atmel,at91sam9260-usart"; 174 - reg = <0xfffff200 0x200>; 175 - interrupts = <1 4 7>; 176 - pinctrl-names = "default"; 177 - pinctrl-0 = <&pinctrl_dbgu>; 178 - };
+184
Documentation/devicetree/bindings/pinctrl/atmel,at91rm9200-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/atmel,at91rm9200-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Microchip PIO3 Pinmux Controller 8 + 9 + maintainers: 10 + - Manikandan Muralidharan <manikandan.m@microchip.com> 11 + 12 + description: 13 + The AT91 Pinmux Controller, enables the IC to share one PAD to several 14 + functional blocks. The sharing is done by multiplexing the PAD input/output 15 + signals. For each PAD there are up to 8 muxing options (called periph modes). 16 + Since different modules require different PAD settings (like pull up, keeper, 17 + etc) the controller controls also the PAD settings parameters. 18 + 19 + properties: 20 + compatible: 21 + oneOf: 22 + - items: 23 + - enum: 24 + - atmel,at91rm9200-pinctrl 25 + - atmel,at91sam9x5-pinctrl 26 + - atmel,sama5d3-pinctrl 27 + - microchip,sam9x60-pinctrl 28 + - const: simple-mfd 29 + - items: 30 + - enum: 31 + - microchip,sam9x7-pinctrl 32 + - const: microchip,sam9x60-pinctrl 33 + - const: simple-mfd 34 + 35 + '#address-cells': 36 + const: 1 37 + 38 + '#size-cells': 39 + const: 1 40 + 41 + ranges: true 42 + 43 + atmel,mux-mask: 44 + $ref: /schemas/types.yaml#/definitions/uint32-matrix 45 + description: | 46 + Array of mask (periph per bank) to describe if a pin can be 47 + configured in this periph mode. All the periph and bank need to 48 + be described. 49 + 50 + #How to create such array: 51 + 52 + Each column will represent the possible peripheral of the pinctrl 53 + Each line will represent a pio bank 54 + 55 + #Example: 56 + 57 + In at91sam9260.dtsi, 58 + Peripheral: 2 ( A and B) 59 + Bank: 3 (A, B and C) 60 + 61 + # A B 62 + 0xffffffff 0xffc00c3b # pioA 63 + 0xffffffff 0x7fff3ccf # pioB 64 + 0xffffffff 0x007fffff # pioC 65 + 66 + For each peripheral/bank we will describe in a u32 if a pin can be 67 + configured in it by putting 1 to the pin bit (1 << pin) 68 + 69 + Let's take the pioA on peripheral B whose value is 0xffc00c3b 70 + From the datasheet Table 10-2. 71 + Peripheral B 72 + PA0 MCDB0 73 + PA1 MCCDB 74 + PA2 75 + PA3 MCDB3 76 + PA4 MCDB2 77 + PA5 MCDB1 78 + PA6 79 + PA7 80 + PA8 81 + PA9 82 + PA10 ETX2 83 + PA11 ETX3 84 + PA12 85 + PA13 86 + PA14 87 + PA15 88 + PA16 89 + PA17 90 + PA18 91 + PA19 92 + PA20 93 + PA21 94 + PA22 ETXER 95 + PA23 ETX2 96 + PA24 ETX3 97 + PA25 ERX2 98 + PA26 ERX3 99 + PA27 ERXCK 100 + PA28 ECRS 101 + PA29 ECOL 102 + PA30 RXD4 103 + PA31 TXD4 104 + 105 + allOf: 106 + - $ref: pinctrl.yaml# 107 + 108 + required: 109 + - compatible 110 + - ranges 111 + - "#address-cells" 112 + - "#size-cells" 113 + - atmel,mux-mask 114 + 115 + patternProperties: 116 + 'gpio@[0-9a-f]+$': 117 + $ref: /schemas/gpio/atmel,at91rm9200-gpio.yaml 118 + unevaluatedProperties: false 119 + 120 + additionalProperties: 121 + type: object 122 + additionalProperties: 123 + type: object 124 + additionalProperties: false 125 + 126 + properties: 127 + atmel,pins: 128 + $ref: /schemas/types.yaml#/definitions/uint32-matrix 129 + description: | 130 + Each entry consists of 4 integers and represents the pins 131 + mux and config setting.The format is 132 + atmel,pins = <PIN_BANK PIN_BANK_NUM PERIPH CONFIG>. 133 + Supported pin number and mux varies for different SoCs, and 134 + are defined in <include/dt-bindings/pinctrl/at91.h>. 135 + items: 136 + items: 137 + - description: 138 + Pin bank 139 + - description: 140 + Pin bank index 141 + - description: 142 + Peripheral function 143 + - description: 144 + Pad configuration 145 + 146 + examples: 147 + - | 148 + #include <dt-bindings/clock/at91.h> 149 + #include <dt-bindings/interrupt-controller/irq.h> 150 + #include <dt-bindings/pinctrl/at91.h> 151 + 152 + pinctrl@fffff400 { 153 + #address-cells = <1>; 154 + #size-cells = <1>; 155 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 156 + ranges = <0xfffff400 0xfffff400 0x600>; 157 + 158 + atmel,mux-mask = < 159 + /* A B */ 160 + 0xffffffff 0xffc00c3b /* pioA */ 161 + 0xffffffff 0x7fff3ccf /* pioB */ 162 + 0xffffffff 0x007fffff /* pioC */ 163 + >; 164 + 165 + dbgu { 166 + pinctrl_dbgu: dbgu-0 { 167 + atmel,pins = 168 + <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 169 + AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; 170 + }; 171 + }; 172 + 173 + pioA: gpio@fffff400 { 174 + compatible = "atmel,at91rm9200-gpio"; 175 + reg = <0xfffff400 0x200>; 176 + interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 177 + #gpio-cells = <2>; 178 + gpio-controller; 179 + interrupt-controller; 180 + #interrupt-cells = <2>; 181 + clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 182 + }; 183 + }; 184 + ...
-2
arch/arm/boot/dts/microchip/at91-sam9x60_curiosity.dts
··· 198 198 dmas = <0>, <0>; 199 199 pinctrl-names = "default"; 200 200 pinctrl-0 = <&pinctrl_flx0_default>; 201 - #address-cells = <1>; 202 - #size-cells = <0>; 203 201 i2c-analog-filter; 204 202 i2c-digital-filter; 205 203 i2c-digital-filter-width-ns = <35>;
-4
arch/arm/boot/dts/microchip/at91-sam9x60ek.dts
··· 207 207 status = "okay"; 208 208 209 209 i2c0: i2c@600 { 210 - #address-cells = <1>; 211 - #size-cells = <0>; 212 210 dmas = <0>, <0>; 213 211 pinctrl-names = "default"; 214 212 pinctrl-0 = <&pinctrl_flx0_default>; ··· 252 254 status = "okay"; 253 255 254 256 i2c6: i2c@600 { 255 - #address-cells = <1>; 256 - #size-cells = <0>; 257 257 dmas = <0>, <0>; 258 258 pinctrl-names = "default"; 259 259 pinctrl-0 = <&pinctrl_flx6_default>;
+13
arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1.dtsi
··· 31 31 }; 32 32 }; 33 33 34 + reg_5v: regulator-5v { 35 + compatible = "regulator-fixed"; 36 + regulator-name = "VDD_MAIN"; 37 + regulator-min-microvolt = <5000000>; 38 + regulator-max-microvolt = <5000000>; 39 + regulator-always-on; 40 + }; 41 + 34 42 wifi_pwrseq: wifi_pwrseq { 35 43 compatible = "mmc-pwrseq-wilc1000"; 36 44 reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>; ··· 78 70 mcp16502@5b { 79 71 compatible = "microchip,mcp16502"; 80 72 reg = <0x5b>; 73 + lvin-supply = <&reg_5v>; 74 + pvin1-supply = <&reg_5v>; 75 + pvin2-supply = <&reg_5v>; 76 + pvin3-supply = <&reg_5v>; 77 + pvin4-supply = <&reg_5v>; 81 78 status = "okay"; 82 79 lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>; 83 80
+13
arch/arm/boot/dts/microchip/at91-sama5d29_curiosity.dts
··· 84 84 device_type = "memory"; 85 85 reg = <0x20000000 0x20000000>; 86 86 }; 87 + 88 + reg_5v: regulator-5v { 89 + compatible = "regulator-fixed"; 90 + regulator-name = "5V_MAIN"; 91 + regulator-min-microvolt = <5000000>; 92 + regulator-max-microvolt = <5000000>; 93 + regulator-always-on; 94 + }; 87 95 }; 88 96 89 97 &adc { ··· 152 144 mcp16502@5b { 153 145 compatible = "microchip,mcp16502"; 154 146 reg = <0x5b>; 147 + lvin-supply = <&reg_5v>; 148 + pvin1-supply = <&reg_5v>; 149 + pvin2-supply = <&reg_5v>; 150 + pvin3-supply = <&reg_5v>; 151 + pvin4-supply = <&reg_5v>; 155 152 status = "okay"; 156 153 lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>; 157 154
+13
arch/arm/boot/dts/microchip/at91-sama5d2_icp.dts
··· 78 78 linux,default-trigger = "heartbeat"; 79 79 }; 80 80 }; 81 + 82 + reg_5v: regulator-5v { 83 + compatible = "regulator-fixed"; 84 + regulator-name = "VDD_MAIN_5V"; 85 + regulator-min-microvolt = <5000000>; 86 + regulator-max-microvolt = <5000000>; 87 + regulator-always-on; 88 + }; 81 89 }; 82 90 83 91 &adc { ··· 198 190 mcp16502@5b { 199 191 compatible = "microchip,mcp16502"; 200 192 reg = <0x5b>; 193 + lvin-supply = <&reg_5v>; 194 + pvin1-supply = <&reg_5v>; 195 + pvin2-supply = <&reg_5v>; 196 + pvin3-supply = <&reg_5v>; 197 + pvin4-supply = <&reg_5v>; 201 198 status = "okay"; 202 199 lpm-gpios = <&pioBU 7 GPIO_ACTIVE_LOW>; 203 200
+13
arch/arm/boot/dts/microchip/at91-sama7g54_curiosity.dts
··· 72 72 device_type = "memory"; 73 73 reg = <0x60000000 0x10000000>; /* 256 MiB DDR3L-1066 16-bit */ 74 74 }; 75 + 76 + reg_5v: regulator-5v { 77 + compatible = "regulator-fixed"; 78 + regulator-name = "5V_MAIN"; 79 + regulator-min-microvolt = <5000000>; 80 + regulator-max-microvolt = <5000000>; 81 + regulator-always-on; 82 + }; 75 83 }; 76 84 77 85 &adc { ··· 197 189 pmic@5b { 198 190 compatible = "microchip,mcp16502"; 199 191 reg = <0x5b>; 192 + lvin-supply = <&reg_5v>; 193 + pvin1-supply = <&reg_5v>; 194 + pvin2-supply = <&reg_5v>; 195 + pvin3-supply = <&reg_5v>; 196 + pvin4-supply = <&reg_5v>; 200 197 201 198 regulators { 202 199 vdd_3v3: VDD_IO {
+53
arch/arm/boot/dts/microchip/at91-sama7g5ek.dts
··· 88 88 reg = <0x60000000 0x20000000>; 89 89 }; 90 90 91 + reg_5v: regulator-5v { 92 + compatible = "regulator-fixed"; 93 + regulator-name = "5V_MAIN"; 94 + regulator-min-microvolt = <5000000>; 95 + regulator-max-microvolt = <5000000>; 96 + regulator-always-on; 97 + }; 98 + 91 99 sound: sound { 92 100 compatible = "simple-audio-card"; 93 101 simple-audio-card,name = "sama7g5ek audio"; ··· 247 239 mcp16502@5b { 248 240 compatible = "microchip,mcp16502"; 249 241 reg = <0x5b>; 242 + lvin-supply = <&reg_5v>; 243 + pvin1-supply = <&reg_5v>; 244 + pvin2-supply = <&reg_5v>; 245 + pvin3-supply = <&reg_5v>; 246 + pvin4-supply = <&reg_5v>; 250 247 status = "okay"; 251 248 252 249 regulators { ··· 416 403 i2c-digital-filter; 417 404 i2c-digital-filter-width-ns = <35>; 418 405 status = "okay"; 406 + 407 + eeprom0: eeprom@52 { 408 + compatible = "microchip,24aa025e48"; 409 + reg = <0x52>; 410 + size = <256>; 411 + pagesize = <16>; 412 + vcc-supply = <&vdd_3v3>; 413 + 414 + nvmem-layout { 415 + compatible = "fixed-layout"; 416 + #address-cells = <1>; 417 + #size-cells = <1>; 418 + 419 + eeprom0_eui48: eui48@fa { 420 + reg = <0xfa 0x6>; 421 + }; 422 + }; 423 + }; 424 + 425 + eeprom1: eeprom@53 { 426 + compatible = "microchip,24aa025e48"; 427 + reg = <0x53>; 428 + size = <256>; 429 + pagesize = <16>; 430 + vcc-supply = <&vdd_3v3>; 431 + 432 + nvmem-layout { 433 + compatible = "fixed-layout"; 434 + #address-cells = <1>; 435 + #size-cells = <1>; 436 + 437 + eeprom1_eui48: eui48@fa { 438 + reg = <0xfa 0x6>; 439 + }; 440 + }; 441 + }; 419 442 }; 420 443 }; 421 444 ··· 489 440 &pinctrl_gmac0_txck_default 490 441 &pinctrl_gmac0_phy_irq>; 491 442 phy-mode = "rgmii-id"; 443 + nvmem-cells = <&eeprom0_eui48>; 444 + nvmem-cell-names = "mac-address"; 492 445 status = "okay"; 493 446 494 447 ethernet-phy@7 { ··· 508 457 &pinctrl_gmac1_mdio_default 509 458 &pinctrl_gmac1_phy_irq>; 510 459 phy-mode = "rmii"; 460 + nvmem-cells = <&eeprom1_eui48>; 461 + nvmem-cell-names = "mac-address"; 511 462 status = "okay"; /* Conflict with pdmc0. */ 512 463 513 464 ethernet-phy@0 {
+1 -1
arch/arm/boot/dts/microchip/at91rm9200.dtsi
··· 225 225 pinctrl@fffff400 { 226 226 #address-cells = <1>; 227 227 #size-cells = <1>; 228 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 228 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 229 229 ranges = <0xfffff400 0xfffff400 0x800>; 230 230 231 231 atmel,mux-mask = <
+1 -1
arch/arm/boot/dts/microchip/at91sam9260.dtsi
··· 170 170 pinctrl: pinctrl@fffff400 { 171 171 #address-cells = <1>; 172 172 #size-cells = <1>; 173 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 173 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 174 174 ranges = <0xfffff400 0xfffff400 0x600>; 175 175 176 176 atmel,mux-mask = <
+1 -1
arch/arm/boot/dts/microchip/at91sam9261.dtsi
··· 317 317 pinctrl@fffff400 { 318 318 #address-cells = <1>; 319 319 #size-cells = <1>; 320 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 320 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 321 321 ranges = <0xfffff400 0xfffff400 0x600>; 322 322 323 323 atmel,mux-mask =
+1 -1
arch/arm/boot/dts/microchip/at91sam9263.dtsi
··· 167 167 pinctrl@fffff200 { 168 168 #address-cells = <1>; 169 169 #size-cells = <1>; 170 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 170 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 171 171 ranges = <0xfffff200 0xfffff200 0xa00>; 172 172 173 173 atmel,mux-mask = <
+2 -2
arch/arm/boot/dts/microchip/at91sam9g20ek_2mmc.dts
··· 40 40 leds { 41 41 compatible = "gpio-leds"; 42 42 43 - ds1 { 43 + led-ds1 { 44 44 label = "ds1"; 45 45 gpios = <&pioB 9 GPIO_ACTIVE_HIGH>; 46 46 linux,default-trigger = "heartbeat"; 47 47 }; 48 48 49 - ds5 { 49 + led-ds5 { 50 50 label = "ds5"; 51 51 gpios = <&pioB 8 GPIO_ACTIVE_LOW>; 52 52 };
+12 -12
arch/arm/boot/dts/microchip/at91sam9g25-gardena-smart-gateway.dts
··· 37 37 leds { 38 38 compatible = "gpio-leds"; 39 39 40 - power_blue { 40 + led-power-blue { 41 41 label = "smartgw:power:blue"; 42 42 gpios = <&pioC 21 GPIO_ACTIVE_HIGH>; 43 43 default-state = "off"; 44 44 }; 45 45 46 - power_green { 46 + led-power-green { 47 47 label = "smartgw:power:green"; 48 48 gpios = <&pioC 20 GPIO_ACTIVE_HIGH>; 49 49 default-state = "on"; 50 50 }; 51 51 52 - power_red { 52 + led-power-red { 53 53 label = "smartgw:power:red"; 54 54 gpios = <&pioC 19 GPIO_ACTIVE_HIGH>; 55 55 default-state = "off"; 56 56 }; 57 57 58 - radio_blue { 58 + led-radio-blue { 59 59 label = "smartgw:radio:blue"; 60 60 gpios = <&pioC 18 GPIO_ACTIVE_HIGH>; 61 61 default-state = "off"; 62 62 }; 63 63 64 - radio_green { 64 + led-radio-green { 65 65 label = "smartgw:radio:green"; 66 66 gpios = <&pioC 17 GPIO_ACTIVE_HIGH>; 67 67 default-state = "off"; 68 68 }; 69 69 70 - radio_red { 70 + led-radio-red { 71 71 label = "smartgw:radio:red"; 72 72 gpios = <&pioC 16 GPIO_ACTIVE_HIGH>; 73 73 default-state = "off"; 74 74 }; 75 75 76 - internet_blue { 76 + led-internet-blue { 77 77 label = "smartgw:internet:blue"; 78 78 gpios = <&pioC 15 GPIO_ACTIVE_HIGH>; 79 79 default-state = "off"; 80 80 }; 81 81 82 - internet_green { 82 + led-internet-green { 83 83 label = "smartgw:internet:green"; 84 84 gpios = <&pioC 14 GPIO_ACTIVE_HIGH>; 85 85 default-state = "off"; 86 86 }; 87 87 88 - internet_red { 88 + led-internet-red { 89 89 label = "smartgw:internet:red"; 90 90 gpios = <&pioC 13 GPIO_ACTIVE_HIGH>; 91 91 default-state = "off"; 92 92 }; 93 93 94 - heartbeat { 94 + led-heartbeat { 95 95 label = "smartgw:heartbeat"; 96 96 gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; 97 97 linux,default-trigger = "heartbeat"; 98 98 }; 99 99 100 - pb18 { 100 + led-pb18 { 101 101 status = "disabled"; 102 102 }; 103 103 104 - pd21 { 104 + led-pd21 { 105 105 status = "disabled"; 106 106 }; 107 107 };
+1 -1
arch/arm/boot/dts/microchip/at91sam9g45.dtsi
··· 190 190 pinctrl@fffff200 { 191 191 #address-cells = <1>; 192 192 #size-cells = <1>; 193 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 193 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 194 194 ranges = <0xfffff200 0xfffff200 0xa00>; 195 195 196 196 atmel,mux-mask = <
+1 -1
arch/arm/boot/dts/microchip/at91sam9n12.dtsi
··· 226 226 pinctrl@fffff400 { 227 227 #address-cells = <1>; 228 228 #size-cells = <1>; 229 - compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; 229 + compatible = "atmel,at91sam9x5-pinctrl", "simple-mfd"; 230 230 ranges = <0xfffff400 0xfffff400 0x800>; 231 231 232 232 atmel,mux-mask = <
+3 -3
arch/arm/boot/dts/microchip/at91sam9n12ek.dts
··· 207 207 leds { 208 208 compatible = "gpio-leds"; 209 209 210 - d8 { 210 + led-d8 { 211 211 label = "d8"; 212 212 gpios = <&pioB 4 GPIO_ACTIVE_LOW>; 213 213 linux,default-trigger = "mmc0"; 214 214 }; 215 215 216 - d9 { 216 + led-d9 { 217 217 label = "d9"; 218 218 gpios = <&pioB 5 GPIO_ACTIVE_LOW>; 219 219 linux,default-trigger = "nand-disk"; 220 220 }; 221 221 222 - d10 { 222 + led-d10 { 223 223 label = "d10"; 224 224 gpios = <&pioB 6 GPIO_ACTIVE_HIGH>; 225 225 linux,default-trigger = "heartbeat";
+1 -1
arch/arm/boot/dts/microchip/at91sam9rl.dtsi
··· 339 339 pinctrl@fffff400 { 340 340 #address-cells = <1>; 341 341 #size-cells = <1>; 342 - compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 342 + compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 343 343 ranges = <0xfffff400 0xfffff400 0x800>; 344 344 345 345 atmel,mux-mask =
+1 -1
arch/arm/boot/dts/microchip/at91sam9x5.dtsi
··· 202 202 pinctrl: pinctrl@fffff400 { 203 203 #address-cells = <1>; 204 204 #size-cells = <1>; 205 - compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; 205 + compatible = "atmel,at91sam9x5-pinctrl", "simple-mfd"; 206 206 ranges = <0xfffff400 0xfffff400 0x800>; 207 207 208 208 /* shared pinctrl settings */
+2 -2
arch/arm/boot/dts/microchip/at91sam9x5cm.dtsi
··· 120 120 leds { 121 121 compatible = "gpio-leds"; 122 122 123 - pb18 { 123 + led-pb18 { 124 124 label = "pb18"; 125 125 gpios = <&pioB 18 GPIO_ACTIVE_LOW>; 126 126 linux,default-trigger = "heartbeat"; 127 127 }; 128 128 129 - pd21 { 129 + led-pd21 { 130 130 label = "pd21"; 131 131 gpios = <&pioD 21 GPIO_ACTIVE_HIGH>; 132 132 };
+33 -7
arch/arm/boot/dts/microchip/sam9x60.dtsi
··· 215 215 compatible = "microchip,sam9x60-i2c"; 216 216 reg = <0x600 0x200>; 217 217 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>; 218 + #address-cells = <1>; 219 + #size-cells = <0>; 218 220 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 219 221 dmas = <&dma0 220 222 (AT91_XDMAC_DT_MEM_IF(0) | ··· 286 284 compatible = "microchip,sam9x60-i2c"; 287 285 reg = <0x600 0x200>; 288 286 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>; 287 + #address-cells = <1>; 288 + #size-cells = <0>; 289 289 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 290 290 dmas = <&dma0 291 291 (AT91_XDMAC_DT_MEM_IF(0) | ··· 398 394 compatible = "microchip,sam9x60-i2c"; 399 395 reg = <0x600 0x200>; 400 396 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>; 397 + #address-cells = <1>; 398 + #size-cells = <0>; 401 399 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>; 402 400 dmas = <&dma0 403 401 (AT91_XDMAC_DT_MEM_IF(0) | ··· 449 443 compatible = "microchip,sam9x60-i2c"; 450 444 reg = <0x600 0x200>; 451 445 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>; 446 + #address-cells = <1>; 447 + #size-cells = <0>; 452 448 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>; 453 449 dmas = <&dma0 454 450 (AT91_XDMAC_DT_MEM_IF(0) | ··· 608 600 compatible = "microchip,sam9x60-i2c"; 609 601 reg = <0x600 0x200>; 610 602 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>; 603 + #address-cells = <1>; 604 + #size-cells = <0>; 611 605 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>; 612 606 dmas = <&dma0 613 607 (AT91_XDMAC_DT_MEM_IF(0) | ··· 659 649 compatible = "microchip,sam9x60-i2c"; 660 650 reg = <0x600 0x200>; 661 651 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>; 652 + #address-cells = <1>; 653 + #size-cells = <0>; 662 654 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>; 663 655 dmas = <&dma0 664 656 (AT91_XDMAC_DT_MEM_IF(0) | ··· 710 698 compatible = "microchip,sam9x60-i2c"; 711 699 reg = <0x600 0x200>; 712 700 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>; 701 + #address-cells = <1>; 702 + #size-cells = <0>; 713 703 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 714 704 dmas = <&dma0 715 705 (AT91_XDMAC_DT_MEM_IF(0) | ··· 780 766 compatible = "microchip,sam9x60-i2c"; 781 767 reg = <0x600 0x200>; 782 768 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>; 769 + #address-cells = <1>; 770 + #size-cells = <0>; 783 771 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>; 784 772 dmas = <&dma0 785 773 (AT91_XDMAC_DT_MEM_IF(0) | ··· 850 834 compatible = "microchip,sam9x60-i2c"; 851 835 reg = <0x600 0x200>; 852 836 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>; 837 + #address-cells = <1>; 838 + #size-cells = <0>; 853 839 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>; 854 840 dmas = <&dma0 855 841 (AT91_XDMAC_DT_MEM_IF(0) | ··· 920 902 compatible = "microchip,sam9x60-i2c"; 921 903 reg = <0x600 0x200>; 922 904 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>; 905 + #address-cells = <1>; 906 + #size-cells = <0>; 923 907 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>; 924 908 dmas = <&dma0 925 909 (AT91_XDMAC_DT_MEM_IF(0) | ··· 990 970 compatible = "microchip,sam9x60-i2c"; 991 971 reg = <0x600 0x200>; 992 972 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>; 973 + #address-cells = <1>; 974 + #size-cells = <0>; 993 975 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>; 994 976 dmas = <&dma0 995 977 (AT91_XDMAC_DT_MEM_IF(0) | ··· 1096 1074 compatible = "microchip,sam9x60-i2c"; 1097 1075 reg = <0x600 0x200>; 1098 1076 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>; 1077 + #address-cells = <1>; 1078 + #size-cells = <0>; 1099 1079 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>; 1100 1080 dmas = <&dma0 1101 1081 (AT91_XDMAC_DT_MEM_IF(0) | ··· 1147 1123 compatible = "microchip,sam9x60-i2c"; 1148 1124 reg = <0x600 0x200>; 1149 1125 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>; 1126 + #address-cells = <1>; 1127 + #size-cells = <0>; 1150 1128 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>; 1151 1129 dmas = <&dma0 1152 1130 (AT91_XDMAC_DT_MEM_IF(0) | ··· 1249 1223 pinctrl: pinctrl@fffff400 { 1250 1224 #address-cells = <1>; 1251 1225 #size-cells = <1>; 1252 - compatible = "microchip,sam9x60-pinctrl", "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; 1226 + compatible = "microchip,sam9x60-pinctrl", "simple-mfd"; 1253 1227 ranges = <0xfffff400 0xfffff400 0x800>; 1254 1228 1255 1229 /* mux-mask corresponding to sam9x60 SoC in TFBGA228L package */ ··· 1262 1236 >; 1263 1237 1264 1238 pioA: gpio@fffff400 { 1265 - compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 1239 + compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio"; 1266 1240 reg = <0xfffff400 0x200>; 1267 1241 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 1268 1242 #gpio-cells = <2>; ··· 1273 1247 }; 1274 1248 1275 1249 pioB: gpio@fffff600 { 1276 - compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 1250 + compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio"; 1277 1251 reg = <0xfffff600 0x200>; 1278 1252 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; 1279 1253 #gpio-cells = <2>; ··· 1285 1259 }; 1286 1260 1287 1261 pioC: gpio@fffff800 { 1288 - compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 1262 + compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio"; 1289 1263 reg = <0xfffff800 0x200>; 1290 1264 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>; 1291 1265 #gpio-cells = <2>; ··· 1296 1270 }; 1297 1271 1298 1272 pioD: gpio@fffffa00 { 1299 - compatible = "microchip,sam9x60-gpio", "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 1273 + compatible = "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio"; 1300 1274 reg = <0xfffffa00 0x200>; 1301 1275 interrupts = <44 IRQ_TYPE_LEVEL_HIGH 1>; 1302 1276 #gpio-cells = <2>; ··· 1338 1312 compatible = "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt"; 1339 1313 reg = <0xfffffe20 0x20>; 1340 1314 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 1341 - clocks = <&clk32k 0>; 1315 + clocks = <&clk32k 1>; 1342 1316 }; 1343 1317 1344 1318 pit: timer@fffffe40 { ··· 1364 1338 compatible = "microchip,sam9x60-rtc", "atmel,at91sam9x5-rtc"; 1365 1339 reg = <0xfffffea8 0x100>; 1366 1340 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 1367 - clocks = <&clk32k 0>; 1341 + clocks = <&clk32k 1>; 1368 1342 }; 1369 1343 1370 1344 watchdog: watchdog@ffffff80 {
+1 -1
arch/arm/boot/dts/microchip/sama5d3.dtsi
··· 493 493 pinctrl: pinctrl@fffff200 { 494 494 #address-cells = <1>; 495 495 #size-cells = <1>; 496 - compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus"; 496 + compatible = "atmel,sama5d3-pinctrl", "simple-mfd"; 497 497 ranges = <0xfffff200 0xfffff200 0xa00>; 498 498 atmel,mux-mask = < 499 499 /* A B C */
+1 -1
arch/arm/boot/dts/microchip/sama5d4.dtsi
··· 791 791 pinctrl: pinctrl@fc06a000 { 792 792 #address-cells = <1>; 793 793 #size-cells = <1>; 794 - compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus"; 794 + compatible = "atmel,sama5d3-pinctrl", "simple-mfd"; 795 795 ranges = <0xfc068000 0xfc068000 0x100 796 796 0xfc06a000 0xfc06a000 0x4000>; 797 797 /* WARNING: revisit as pin spec has changed */
+1 -1
arch/arm/boot/dts/microchip/sama7g5.dtsi
··· 272 272 compatible = "microchip,sama7g5-rtt", "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt"; 273 273 reg = <0xe001d020 0x30>; 274 274 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 275 - clocks = <&clk32k 0>; 275 + clocks = <&clk32k 1>; 276 276 }; 277 277 278 278 clk32k: clock-controller@e001d050 {