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

Merge tag 'omap-for-v5.16/gpmc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt

Changes for omap gpmc bindings and devicetree files for v5.16

A series of changes to update the gpmc related bindings to yaml
format, and a few non-urgent dts fixes.

* tag 'omap-for-v5.16/gpmc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap: fix gpmc,mux-add-data type
ARM: dts: omap: Fix boolean properties gpmc,cycle2cycle-{same|diff}csen
dt-bindings: memory-controllers: ti,gpmc: Convert to yaml
dt-bindings: mtd: ti,gpmc-onenand: Convert to yaml
dt-bindings: mtd: ti,gpmc-nand: Convert to yaml
dt-bindings: memory-controllers: Introduce ti,gpmc-child
dt-bindings: net: Remove gpmc-eth.txt
dt-bindings: mtd: Remove gpmc-nor.txt

Link: https://lore.kernel.org/r/pull-1634280279-284035@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+631 -559
-157
Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
··· 1 - Device tree bindings for OMAP general purpose memory controllers (GPMC) 2 - 3 - The actual devices are instantiated from the child nodes of a GPMC node. 4 - 5 - Required properties: 6 - 7 - - compatible: Should be set to one of the following: 8 - 9 - ti,omap2420-gpmc (omap2420) 10 - ti,omap2430-gpmc (omap2430) 11 - ti,omap3430-gpmc (omap3430 & omap3630) 12 - ti,omap4430-gpmc (omap4430 & omap4460 & omap543x) 13 - ti,am3352-gpmc (am335x devices) 14 - 15 - - reg: A resource specifier for the register space 16 - (see the example below) 17 - - ti,hwmods: Should be set to "ti,gpmc" until the DT transition is 18 - completed. 19 - - #address-cells: Must be set to 2 to allow memory address translation 20 - - #size-cells: Must be set to 1 to allow CS address passing 21 - - gpmc,num-cs: The maximum number of chip-select lines that controller 22 - can support. 23 - - gpmc,num-waitpins: The maximum number of wait pins that controller can 24 - support. 25 - - ranges: Must be set up to reflect the memory layout with four 26 - integer values for each chip-select line in use: 27 - 28 - <cs-number> 0 <physical address of mapping> <size> 29 - 30 - Currently, calculated values derived from the contents 31 - of the per-CS register GPMC_CONFIG7 (as set up by the 32 - bootloader) are used for the physical address decoding. 33 - As this will change in the future, filling correct 34 - values here is a requirement. 35 - - interrupt-controller: The GPMC driver implements and interrupt controller for 36 - the NAND events "fifoevent" and "termcount" plus the 37 - rising/falling edges on the GPMC_WAIT pins. 38 - The interrupt number mapping is as follows 39 - 0 - NAND_fifoevent 40 - 1 - NAND_termcount 41 - 2 - GPMC_WAIT0 pin edge 42 - 3 - GPMC_WAIT1 pin edge, and so on. 43 - - interrupt-cells: Must be set to 2 44 - - gpio-controller: The GPMC driver implements a GPIO controller for the 45 - GPMC WAIT pins that can be used as general purpose inputs. 46 - 0 maps to GPMC_WAIT0 pin. 47 - - gpio-cells: Must be set to 2 48 - 49 - Required properties when using NAND prefetch dma: 50 - - dmas GPMC NAND prefetch dma channel 51 - - dma-names Must be set to "rxtx" 52 - 53 - Timing properties for child nodes. All are optional and default to 0. 54 - 55 - - gpmc,sync-clk-ps: Minimum clock period for synchronous mode, in picoseconds 56 - 57 - Chip-select signal timings (in nanoseconds) corresponding to GPMC_CONFIG2: 58 - - gpmc,cs-on-ns: Assertion time 59 - - gpmc,cs-rd-off-ns: Read deassertion time 60 - - gpmc,cs-wr-off-ns: Write deassertion time 61 - 62 - ADV signal timings (in nanoseconds) corresponding to GPMC_CONFIG3: 63 - - gpmc,adv-on-ns: Assertion time 64 - - gpmc,adv-rd-off-ns: Read deassertion time 65 - - gpmc,adv-wr-off-ns: Write deassertion time 66 - - gpmc,adv-aad-mux-on-ns: Assertion time for AAD 67 - - gpmc,adv-aad-mux-rd-off-ns: Read deassertion time for AAD 68 - - gpmc,adv-aad-mux-wr-off-ns: Write deassertion time for AAD 69 - 70 - WE signals timings (in nanoseconds) corresponding to GPMC_CONFIG4: 71 - - gpmc,we-on-ns Assertion time 72 - - gpmc,we-off-ns: Deassertion time 73 - 74 - OE signals timings (in nanoseconds) corresponding to GPMC_CONFIG4: 75 - - gpmc,oe-on-ns: Assertion time 76 - - gpmc,oe-off-ns: Deassertion time 77 - - gpmc,oe-aad-mux-on-ns: Assertion time for AAD 78 - - gpmc,oe-aad-mux-off-ns: Deassertion time for AAD 79 - 80 - Access time and cycle time timings (in nanoseconds) corresponding to 81 - GPMC_CONFIG5: 82 - - gpmc,page-burst-access-ns: Multiple access word delay 83 - - gpmc,access-ns: Start-cycle to first data valid delay 84 - - gpmc,rd-cycle-ns: Total read cycle time 85 - - gpmc,wr-cycle-ns: Total write cycle time 86 - - gpmc,bus-turnaround-ns: Turn-around time between successive accesses 87 - - gpmc,cycle2cycle-delay-ns: Delay between chip-select pulses 88 - - gpmc,clk-activation-ns: GPMC clock activation time 89 - - gpmc,wait-monitoring-ns: Start of wait monitoring with regard to valid 90 - data 91 - 92 - Boolean timing parameters. If property is present parameter enabled and 93 - disabled if omitted: 94 - - gpmc,adv-extra-delay: ADV signal is delayed by half GPMC clock 95 - - gpmc,cs-extra-delay: CS signal is delayed by half GPMC clock 96 - - gpmc,cycle2cycle-diffcsen: Add "cycle2cycle-delay" between successive 97 - accesses to a different CS 98 - - gpmc,cycle2cycle-samecsen: Add "cycle2cycle-delay" between successive 99 - accesses to the same CS 100 - - gpmc,oe-extra-delay: OE signal is delayed by half GPMC clock 101 - - gpmc,we-extra-delay: WE signal is delayed by half GPMC clock 102 - - gpmc,time-para-granularity: Multiply all access times by 2 103 - 104 - The following are only applicable to OMAP3+ and AM335x: 105 - - gpmc,wr-access-ns: In synchronous write mode, for single or 106 - burst accesses, defines the number of 107 - GPMC_FCLK cycles from start access time 108 - to the GPMC_CLK rising edge used by the 109 - memory device for the first data capture. 110 - - gpmc,wr-data-mux-bus-ns: In address-data multiplex mode, specifies 111 - the time when the first data is driven on 112 - the address-data bus. 113 - 114 - GPMC chip-select settings properties for child nodes. All are optional. 115 - 116 - - gpmc,burst-length Page/burst length. Must be 4, 8 or 16. 117 - - gpmc,burst-wrap Enables wrap bursting 118 - - gpmc,burst-read Enables read page/burst mode 119 - - gpmc,burst-write Enables write page/burst mode 120 - - gpmc,device-width Total width of device(s) connected to a GPMC 121 - chip-select in bytes. The GPMC supports 8-bit 122 - and 16-bit devices and so this property must be 123 - 1 or 2. 124 - - gpmc,mux-add-data Address and data multiplexing configuration. 125 - Valid values are 1 for address-address-data 126 - multiplexing mode and 2 for address-data 127 - multiplexing mode. 128 - - gpmc,sync-read Enables synchronous read. Defaults to asynchronous 129 - is this is not set. 130 - - gpmc,sync-write Enables synchronous writes. Defaults to asynchronous 131 - is this is not set. 132 - - gpmc,wait-pin Wait-pin used by client. Must be less than 133 - "gpmc,num-waitpins". 134 - - gpmc,wait-on-read Enables wait monitoring on reads. 135 - - gpmc,wait-on-write Enables wait monitoring on writes. 136 - 137 - Example for an AM33xx board: 138 - 139 - gpmc: gpmc@50000000 { 140 - compatible = "ti,am3352-gpmc"; 141 - ti,hwmods = "gpmc"; 142 - reg = <0x50000000 0x2000>; 143 - interrupts = <100>; 144 - dmas = <&edma 52 0>; 145 - dma-names = "rxtx"; 146 - gpmc,num-cs = <8>; 147 - gpmc,num-waitpins = <2>; 148 - #address-cells = <2>; 149 - #size-cells = <1>; 150 - ranges = <0 0 0x08000000 0x10000000>; /* CS0 @addr 0x8000000, size 0x10000000 */ 151 - interrupt-controller; 152 - #interrupt-cells = <2>; 153 - gpio-controller; 154 - #gpio-cells = <2>; 155 - 156 - /* child nodes go here */ 157 - };
+245
Documentation/devicetree/bindings/memory-controllers/ti,gpmc-child.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc-child.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: device tree bindings for children of the Texas Instruments GPMC 8 + 9 + maintainers: 10 + - Tony Lindgren <tony@atomide.com> 11 + - Roger Quadros <rogerq@kernel.org> 12 + 13 + description: 14 + This binding is meant for the child nodes of the GPMC node. The node 15 + represents any device connected to the GPMC bus. It may be a Flash chip, 16 + RAM chip or Ethernet controller, etc. These properties are meant for 17 + configuring the GPMC settings/timings and will accompany the bindings 18 + supported by the respective device. 19 + 20 + properties: 21 + reg: true 22 + 23 + # GPMC Timing properties for child nodes. All are optional and default to 0. 24 + gpmc,sync-clk-ps: 25 + description: Minimum clock period for synchronous mode 26 + default: 0 27 + 28 + # Chip-select signal timings corresponding to GPMC_CONFIG2: 29 + gpmc,cs-on-ns: 30 + description: Assertion time 31 + default: 0 32 + 33 + gpmc,cs-rd-off-ns: 34 + description: Read deassertion time 35 + default: 0 36 + 37 + gpmc,cs-wr-off-ns: 38 + description: Write deassertion time 39 + default: 0 40 + 41 + # ADV signal timings corresponding to GPMC_CONFIG3: 42 + gpmc,adv-on-ns: 43 + description: Assertion time 44 + default: 0 45 + 46 + gpmc,adv-rd-off-ns: 47 + description: Read deassertion time 48 + default: 0 49 + 50 + gpmc,adv-wr-off-ns: 51 + description: Write deassertion time 52 + default: 0 53 + 54 + gpmc,adv-aad-mux-on-ns: 55 + description: Assertion time for AAD 56 + default: 0 57 + 58 + gpmc,adv-aad-mux-rd-off-ns: 59 + description: Read deassertion time for AAD 60 + default: 0 61 + 62 + gpmc,adv-aad-mux-wr-off-ns: 63 + description: Write deassertion time for AAD 64 + default: 0 65 + 66 + # WE signals timings corresponding to GPMC_CONFIG4: 67 + gpmc,we-on-ns: 68 + description: Assertion time 69 + default: 0 70 + 71 + gpmc,we-off-ns: 72 + description: Deassertion time 73 + default: 0 74 + 75 + # OE signals timings corresponding to GPMC_CONFIG4: 76 + gpmc,oe-on-ns: 77 + description: Assertion time 78 + default: 0 79 + 80 + gpmc,oe-off-ns: 81 + description: Deassertion time 82 + default: 0 83 + 84 + gpmc,oe-aad-mux-on-ns: 85 + description: Assertion time for AAD 86 + default: 0 87 + 88 + gpmc,oe-aad-mux-off-ns: 89 + description: Deassertion time for AAD 90 + default: 0 91 + 92 + # Access time and cycle time timings (in nanoseconds) corresponding to 93 + # GPMC_CONFIG5: 94 + gpmc,page-burst-access-ns: 95 + description: Multiple access word delay 96 + default: 0 97 + 98 + gpmc,access-ns: 99 + description: Start-cycle to first data valid delay 100 + default: 0 101 + 102 + gpmc,rd-cycle-ns: 103 + description: Total read cycle time 104 + default: 0 105 + 106 + gpmc,wr-cycle-ns: 107 + description: Total write cycle time 108 + default: 0 109 + 110 + gpmc,bus-turnaround-ns: 111 + description: Turn-around time between successive accesses 112 + default: 0 113 + 114 + gpmc,cycle2cycle-delay-ns: 115 + description: Delay between chip-select pulses 116 + default: 0 117 + 118 + gpmc,clk-activation-ns: 119 + description: GPMC clock activation time 120 + default: 0 121 + 122 + gpmc,wait-monitoring-ns: 123 + description: Start of wait monitoring with regard to valid data 124 + default: 0 125 + 126 + # Boolean timing parameters. If property is present, parameter is enabled 127 + # otherwise disabled. 128 + gpmc,adv-extra-delay: 129 + description: ADV signal is delayed by half GPMC clock 130 + type: boolean 131 + 132 + gpmc,cs-extra-delay: 133 + description: CS signal is delayed by half GPMC clock 134 + type: boolean 135 + 136 + gpmc,cycle2cycle-diffcsen: 137 + description: | 138 + Add "cycle2cycle-delay" between successive accesses 139 + to a different CS 140 + type: boolean 141 + 142 + gpmc,cycle2cycle-samecsen: 143 + description: | 144 + Add "cycle2cycle-delay" between successive accesses 145 + to the same CS 146 + type: boolean 147 + 148 + gpmc,oe-extra-delay: 149 + description: OE signal is delayed by half GPMC clock 150 + type: boolean 151 + 152 + gpmc,we-extra-delay: 153 + description: WE signal is delayed by half GPMC clock 154 + type: boolean 155 + 156 + gpmc,time-para-granularity: 157 + description: Multiply all access times by 2 158 + type: boolean 159 + 160 + # The following two properties are applicable only to OMAP3+ and AM335x: 161 + gpmc,wr-access-ns: 162 + description: | 163 + In synchronous write mode, for single or 164 + burst accesses, defines the number of 165 + GPMC_FCLK cycles from start access time 166 + to the GPMC_CLK rising edge used by the 167 + memory device for the first data capture. 168 + default: 0 169 + 170 + gpmc,wr-data-mux-bus-ns: 171 + description: | 172 + In address-data multiplex mode, specifies 173 + the time when the first data is driven on 174 + the address-data bus. 175 + default: 0 176 + 177 + # GPMC chip-select settings properties for child nodes. All are optional. 178 + gpmc,burst-length: 179 + description: Page/burst length. 180 + $ref: /schemas/types.yaml#/definitions/uint32 181 + enum: [0, 4, 8, 16] 182 + default: 0 183 + 184 + gpmc,burst-wrap: 185 + description: Enables wrap bursting 186 + type: boolean 187 + 188 + gpmc,burst-read: 189 + description: Enables read page/burst mode 190 + type: boolean 191 + 192 + gpmc,burst-write: 193 + description: Enables write page/burst mode 194 + type: boolean 195 + 196 + gpmc,device-width: 197 + description: | 198 + Total width of device(s) connected to a GPMC 199 + chip-select in bytes. The GPMC supports 8-bit 200 + and 16-bit devices and so this property must be 201 + 1 or 2. 202 + $ref: /schemas/types.yaml#/definitions/uint32 203 + enum: [1, 2] 204 + default: 1 205 + 206 + gpmc,mux-add-data: 207 + description: | 208 + Address and data multiplexing configuration. 209 + Valid values are 210 + 0 for Non multiplexed mode 211 + 1 for address-address-data multiplexing mode and 212 + 2 for address-data multiplexing mode. 213 + $ref: /schemas/types.yaml#/definitions/uint32 214 + enum: [0, 1, 2] 215 + 216 + gpmc,sync-read: 217 + description: | 218 + Enables synchronous read. Defaults to asynchronous 219 + is this is not set. 220 + type: boolean 221 + 222 + gpmc,sync-write: 223 + description: | 224 + Enables synchronous writes. Defaults to asynchronous 225 + is this is not set. 226 + type: boolean 227 + 228 + gpmc,wait-pin: 229 + description: | 230 + Wait-pin used by client. Must be less than "gpmc,num-waitpins". 231 + $ref: /schemas/types.yaml#/definitions/uint32 232 + 233 + gpmc,wait-on-read: 234 + description: Enables wait monitoring on reads. 235 + type: boolean 236 + 237 + gpmc,wait-on-write: 238 + description: Enables wait monitoring on writes. 239 + type: boolean 240 + 241 + required: 242 + - reg 243 + 244 + # the GPMC child will have its own native properties 245 + additionalProperties: true
+172
Documentation/devicetree/bindings/memory-controllers/ti,gpmc.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Texas Instruments GPMC Memory Controller device-tree bindings 8 + 9 + maintainers: 10 + - Tony Lindgren <tony@atomide.com> 11 + - Roger Quadros <rogerq@kernel.org> 12 + 13 + description: 14 + The GPMC is a unified memory controller dedicated for interfacing 15 + with external memory devices like 16 + - Asynchronous SRAM-like memories and ASICs 17 + - Asynchronous, synchronous, and page mode burst NOR flash 18 + - NAND flash 19 + - Pseudo-SRAM devices 20 + 21 + properties: 22 + compatible: 23 + items: 24 + - enum: 25 + - ti,am3352-gpmc 26 + - ti,omap2420-gpmc 27 + - ti,omap2430-gpmc 28 + - ti,omap3430-gpmc 29 + - ti,omap4430-gpmc 30 + 31 + reg: 32 + maxItems: 1 33 + 34 + interrupts: 35 + maxItems: 1 36 + 37 + clocks: 38 + maxItems: 1 39 + description: | 40 + Functional clock. Used for bus timing calculations and 41 + GPMC configuration. 42 + 43 + clock-names: 44 + items: 45 + - const: fck 46 + 47 + dmas: 48 + items: 49 + - description: DMA channel for GPMC NAND prefetch 50 + 51 + dma-names: 52 + items: 53 + - const: rxtx 54 + 55 + "#address-cells": true 56 + 57 + "#size-cells": true 58 + 59 + gpmc,num-cs: 60 + description: maximum number of supported chip-select lines. 61 + $ref: /schemas/types.yaml#/definitions/uint32 62 + 63 + gpmc,num-waitpins: 64 + description: maximum number of supported wait pins. 65 + $ref: /schemas/types.yaml#/definitions/uint32 66 + 67 + ranges: 68 + minItems: 1 69 + description: | 70 + Must be set up to reflect the memory layout with four 71 + integer values for each chip-select line in use, 72 + <cs-number> 0 <physical address of mapping> <size> 73 + items: 74 + - description: NAND bank 0 75 + - description: NOR/SRAM bank 0 76 + - description: NOR/SRAM bank 1 77 + 78 + '#interrupt-cells': 79 + const: 2 80 + 81 + interrupt-controller: 82 + description: | 83 + The GPMC driver implements and interrupt controller for 84 + the NAND events "fifoevent" and "termcount" plus the 85 + rising/falling edges on the GPMC_WAIT pins. 86 + The interrupt number mapping is as follows 87 + 0 - NAND_fifoevent 88 + 1 - NAND_termcount 89 + 2 - GPMC_WAIT0 pin edge 90 + 3 - GPMC_WAIT1 pin edge, and so on. 91 + 92 + '#gpio-cells': 93 + const: 2 94 + 95 + gpio-controller: 96 + description: | 97 + The GPMC driver implements a GPIO controller for the 98 + GPMC WAIT pins that can be used as general purpose inputs. 99 + 0 maps to GPMC_WAIT0 pin. 100 + 101 + ti,hwmods: 102 + description: 103 + Name of the HWMOD associated with GPMC. This is for legacy 104 + omap2/3 platforms only. 105 + $ref: /schemas/types.yaml#/definitions/string 106 + deprecated: true 107 + 108 + ti,no-idle-on-init: 109 + description: 110 + Prevent idling the module at init. This is for legacy omap2/3 111 + platforms only. 112 + type: boolean 113 + deprecated: true 114 + 115 + patternProperties: 116 + "@[0-7],[a-f0-9]+$": 117 + type: object 118 + description: | 119 + The child device node represents the device connected to the GPMC 120 + bus. The device can be a NAND chip, SRAM device, NOR device 121 + or an ASIC. 122 + 123 + allOf: 124 + - $ref: "ti,gpmc-child.yaml" 125 + 126 + unevaluatedProperties: false 127 + 128 + required: 129 + - compatible 130 + - reg 131 + - gpmc,num-cs 132 + - gpmc,num-waitpins 133 + - "#address-cells" 134 + - "#size-cells" 135 + 136 + additionalProperties: false 137 + 138 + examples: 139 + - | 140 + #include <dt-bindings/interrupt-controller/arm-gic.h> 141 + #include <dt-bindings/gpio/gpio.h> 142 + 143 + gpmc: memory-controller@50000000 { 144 + compatible = "ti,am3352-gpmc"; 145 + reg = <0x50000000 0x2000>; 146 + interrupts = <100>; 147 + clocks = <&l3s_clkctrl>; 148 + clock-names = "fck"; 149 + dmas = <&edma 52 0>; 150 + dma-names = "rxtx"; 151 + gpmc,num-cs = <8>; 152 + gpmc,num-waitpins = <2>; 153 + #address-cells = <2>; 154 + #size-cells = <1>; 155 + ranges = <0 0 0x08000000 0x10000000>; /* CS0 @addr 0x8000000, size 0x10000000 */ 156 + interrupt-controller; 157 + #interrupt-cells = <2>; 158 + gpio-controller; 159 + #gpio-cells = <2>; 160 + 161 + nand@0,0 { 162 + compatible = "ti,omap2-nand"; 163 + reg = <0 0 4>; 164 + interrupt-parent = <&gpmc>; 165 + interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 166 + <1 IRQ_TYPE_NONE>; /* termcount */ 167 + ti,nand-xfer-type = "prefetch-dma"; 168 + ti,nand-ecc-opt = "bch16"; 169 + ti,elm-id = <&elm>; 170 + rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */ 171 + }; 172 + };
-147
Documentation/devicetree/bindings/mtd/gpmc-nand.txt
··· 1 - Device tree bindings for GPMC connected NANDs 2 - 3 - GPMC connected NAND (found on OMAP boards) are represented as child nodes of 4 - the GPMC controller with a name of "nand". 5 - 6 - All timing relevant properties as well as generic gpmc child properties are 7 - explained in a separate documents - please refer to 8 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 9 - 10 - For NAND specific properties such as ECC modes or bus width, please refer to 11 - Documentation/devicetree/bindings/mtd/nand-controller.yaml 12 - 13 - 14 - Required properties: 15 - 16 - - compatible: "ti,omap2-nand" 17 - - reg: range id (CS number), base offset and length of the 18 - NAND I/O space 19 - - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount. 20 - 21 - Optional properties: 22 - 23 - - nand-bus-width: Set this numeric value to 16 if the hardware 24 - is wired that way. If not specified, a bus 25 - width of 8 is assumed. 26 - 27 - - ti,nand-ecc-opt: A string setting the ECC layout to use. One of: 28 - "sw" 1-bit Hamming ecc code via software 29 - "hw" <deprecated> use "ham1" instead 30 - "hw-romcode" <deprecated> use "ham1" instead 31 - "ham1" 1-bit Hamming ecc code 32 - "bch4" 4-bit BCH ecc code 33 - "bch8" 8-bit BCH ecc code 34 - "bch16" 16-bit BCH ECC code 35 - Refer below "How to select correct ECC scheme for your device ?" 36 - 37 - - ti,nand-xfer-type: A string setting the data transfer type. One of: 38 - 39 - "prefetch-polled" Prefetch polled mode (default) 40 - "polled" Polled mode, without prefetch 41 - "prefetch-dma" Prefetch enabled DMA mode 42 - "prefetch-irq" Prefetch enabled irq mode 43 - 44 - - elm_id: <deprecated> use "ti,elm-id" instead 45 - - ti,elm-id: Specifies phandle of the ELM devicetree node. 46 - ELM is an on-chip hardware engine on TI SoC which is used for 47 - locating ECC errors for BCHx algorithms. SoC devices which have 48 - ELM hardware engines should specify this device node in .dtsi 49 - Using ELM for ECC error correction frees some CPU cycles. 50 - - rb-gpios: GPIO specifier for the ready/busy# pin. 51 - 52 - For inline partition table parsing (optional): 53 - 54 - - #address-cells: should be set to 1 55 - - #size-cells: should be set to 1 56 - 57 - Example for an AM33xx board: 58 - 59 - gpmc: gpmc@50000000 { 60 - compatible = "ti,am3352-gpmc"; 61 - ti,hwmods = "gpmc"; 62 - reg = <0x50000000 0x36c>; 63 - interrupts = <100>; 64 - gpmc,num-cs = <8>; 65 - gpmc,num-waitpins = <2>; 66 - #address-cells = <2>; 67 - #size-cells = <1>; 68 - ranges = <0 0 0x08000000 0x1000000>; /* CS0 space, 16MB */ 69 - elm_id = <&elm>; 70 - interrupt-controller; 71 - #interrupt-cells = <2>; 72 - 73 - nand@0,0 { 74 - compatible = "ti,omap2-nand"; 75 - reg = <0 0 4>; /* CS0, offset 0, NAND I/O window 4 */ 76 - interrupt-parent = <&gpmc>; 77 - interrupts = <0 IRQ_TYPE_NONE>, <1 IRQ_TYPE NONE>; 78 - nand-bus-width = <16>; 79 - ti,nand-ecc-opt = "bch8"; 80 - ti,nand-xfer-type = "polled"; 81 - rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 82 - 83 - gpmc,sync-clk-ps = <0>; 84 - gpmc,cs-on-ns = <0>; 85 - gpmc,cs-rd-off-ns = <44>; 86 - gpmc,cs-wr-off-ns = <44>; 87 - gpmc,adv-on-ns = <6>; 88 - gpmc,adv-rd-off-ns = <34>; 89 - gpmc,adv-wr-off-ns = <44>; 90 - gpmc,we-off-ns = <40>; 91 - gpmc,oe-off-ns = <54>; 92 - gpmc,access-ns = <64>; 93 - gpmc,rd-cycle-ns = <82>; 94 - gpmc,wr-cycle-ns = <82>; 95 - gpmc,wr-access-ns = <40>; 96 - gpmc,wr-data-mux-bus-ns = <0>; 97 - 98 - #address-cells = <1>; 99 - #size-cells = <1>; 100 - 101 - /* partitions go here */ 102 - }; 103 - }; 104 - 105 - How to select correct ECC scheme for your device ? 106 - -------------------------------------------------- 107 - Higher ECC scheme usually means better protection against bit-flips and 108 - increased system lifetime. However, selection of ECC scheme is dependent 109 - on various other factors also like; 110 - 111 - (1) support of built in hardware engines. 112 - Some legacy OMAP SoC do not have ELM harware engine, so those SoC cannot 113 - support ecc-schemes with hardware error-correction (BCHx_HW). However 114 - such SoC can use ecc-schemes with software library for error-correction 115 - (BCHx_HW_DETECTION_SW). The error correction capability with software 116 - library remains equivalent to their hardware counter-part, but there is 117 - slight CPU penalty when too many bit-flips are detected during reads. 118 - 119 - (2) Device parameters like OOBSIZE. 120 - Other factor which governs the selection of ecc-scheme is oob-size. 121 - Higher ECC schemes require more OOB/Spare area to store ECC syndrome, 122 - so the device should have enough free bytes available its OOB/Spare 123 - area to accommodate ECC for entire page. In general following expression 124 - helps in determining if given device can accommodate ECC syndrome: 125 - "2 + (PAGESIZE / 512) * ECC_BYTES" <= OOBSIZE" 126 - where 127 - OOBSIZE number of bytes in OOB/spare area 128 - PAGESIZE number of bytes in main-area of device page 129 - ECC_BYTES number of ECC bytes generated to protect 130 - 512 bytes of data, which is: 131 - '3' for HAM1_xx ecc schemes 132 - '7' for BCH4_xx ecc schemes 133 - '14' for BCH8_xx ecc schemes 134 - '26' for BCH16_xx ecc schemes 135 - 136 - Example(a): For a device with PAGESIZE = 2048 and OOBSIZE = 64 and 137 - trying to use BCH16 (ECC_BYTES=26) ecc-scheme. 138 - Number of ECC bytes per page = (2 + (2048 / 512) * 26) = 106 B 139 - which is greater than capacity of NAND device (OOBSIZE=64) 140 - Hence, BCH16 cannot be supported on given device. But it can 141 - probably use lower ecc-schemes like BCH8. 142 - 143 - Example(b): For a device with PAGESIZE = 2048 and OOBSIZE = 128 and 144 - trying to use BCH16 (ECC_BYTES=26) ecc-scheme. 145 - Number of ECC bytes per page = (2 + (2048 / 512) * 26) = 106 B 146 - which can be accommodated in the OOB/Spare area of this device 147 - (OOBSIZE=128). So this device can use BCH16 ecc-scheme.
-98
Documentation/devicetree/bindings/mtd/gpmc-nor.txt
··· 1 - Device tree bindings for NOR flash connect to TI GPMC 2 - 3 - NOR flash connected to the TI GPMC (found on OMAP boards) are represented as 4 - child nodes of the GPMC controller with a name of "nor". 5 - 6 - All timing relevant properties as well as generic GPMC child properties are 7 - explained in a separate documents. Please refer to 8 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 9 - 10 - Required properties: 11 - - bank-width: Width of NOR flash in bytes. GPMC supports 8-bit and 12 - 16-bit devices and so must be either 1 or 2 bytes. 13 - - compatible: Documentation/devicetree/bindings/mtd/mtd-physmap.yaml 14 - - gpmc,cs-on-ns: Chip-select assertion time 15 - - gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads 16 - - gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes 17 - - gpmc,oe-on-ns: Output-enable assertion time 18 - - gpmc,oe-off-ns: Output-enable de-assertion time 19 - - gpmc,we-on-ns Write-enable assertion time 20 - - gpmc,we-off-ns: Write-enable de-assertion time 21 - - gpmc,access-ns: Start cycle to first data capture (read access) 22 - - gpmc,rd-cycle-ns: Total read cycle time 23 - - gpmc,wr-cycle-ns: Total write cycle time 24 - - linux,mtd-name: Documentation/devicetree/bindings/mtd/mtd-physmap.yaml 25 - - reg: Chip-select, base address (relative to chip-select) 26 - and size of NOR flash. Note that base address will be 27 - typically 0 as this is the start of the chip-select. 28 - 29 - Optional properties: 30 - - gpmc,XXX Additional GPMC timings and settings parameters. See 31 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 32 - 33 - Optional properties for partition table parsing: 34 - - #address-cells: should be set to 1 35 - - #size-cells: should be set to 1 36 - 37 - Example: 38 - 39 - gpmc: gpmc@6e000000 { 40 - compatible = "ti,omap3430-gpmc", "simple-bus"; 41 - ti,hwmods = "gpmc"; 42 - reg = <0x6e000000 0x1000>; 43 - interrupts = <20>; 44 - gpmc,num-cs = <8>; 45 - gpmc,num-waitpins = <4>; 46 - #address-cells = <2>; 47 - #size-cells = <1>; 48 - 49 - ranges = <0 0 0x10000000 0x08000000>; 50 - 51 - nor@0,0 { 52 - compatible = "cfi-flash"; 53 - linux,mtd-name= "intel,pf48f6000m0y1be"; 54 - #address-cells = <1>; 55 - #size-cells = <1>; 56 - reg = <0 0 0x08000000>; 57 - bank-width = <2>; 58 - 59 - gpmc,mux-add-data; 60 - gpmc,cs-on-ns = <0>; 61 - gpmc,cs-rd-off-ns = <186>; 62 - gpmc,cs-wr-off-ns = <186>; 63 - gpmc,adv-on-ns = <12>; 64 - gpmc,adv-rd-off-ns = <48>; 65 - gpmc,adv-wr-off-ns = <48>; 66 - gpmc,oe-on-ns = <54>; 67 - gpmc,oe-off-ns = <168>; 68 - gpmc,we-on-ns = <54>; 69 - gpmc,we-off-ns = <168>; 70 - gpmc,rd-cycle-ns = <186>; 71 - gpmc,wr-cycle-ns = <186>; 72 - gpmc,access-ns = <114>; 73 - gpmc,page-burst-access-ns = <6>; 74 - gpmc,bus-turnaround-ns = <12>; 75 - gpmc,cycle2cycle-delay-ns = <18>; 76 - gpmc,wr-data-mux-bus-ns = <90>; 77 - gpmc,wr-access-ns = <186>; 78 - gpmc,cycle2cycle-samecsen; 79 - gpmc,cycle2cycle-diffcsen; 80 - 81 - partition@0 { 82 - label = "bootloader-nor"; 83 - reg = <0 0x40000>; 84 - }; 85 - partition@40000 { 86 - label = "params-nor"; 87 - reg = <0x40000 0x40000>; 88 - }; 89 - partition@80000 { 90 - label = "kernel-nor"; 91 - reg = <0x80000 0x200000>; 92 - }; 93 - partition@280000 { 94 - label = "filesystem-nor"; 95 - reg = <0x240000 0x7d80000>; 96 - }; 97 - }; 98 - };
-48
Documentation/devicetree/bindings/mtd/gpmc-onenand.txt
··· 1 - Device tree bindings for GPMC connected OneNANDs 2 - 3 - GPMC connected OneNAND (found on OMAP boards) are represented as child nodes of 4 - the GPMC controller with a name of "onenand". 5 - 6 - All timing relevant properties as well as generic gpmc child properties are 7 - explained in a separate documents - please refer to 8 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 9 - 10 - Required properties: 11 - 12 - - compatible: "ti,omap2-onenand" 13 - - reg: The CS line the peripheral is connected to 14 - - gpmc,device-width: Width of the ONENAND device connected to the GPMC 15 - in bytes. Must be 1 or 2. 16 - 17 - Optional properties: 18 - 19 - - int-gpios: GPIO specifier for the INT pin. 20 - 21 - For inline partition table parsing (optional): 22 - 23 - - #address-cells: should be set to 1 24 - - #size-cells: should be set to 1 25 - 26 - Example for an OMAP3430 board: 27 - 28 - gpmc: gpmc@6e000000 { 29 - compatible = "ti,omap3430-gpmc"; 30 - ti,hwmods = "gpmc"; 31 - reg = <0x6e000000 0x1000000>; 32 - interrupts = <20>; 33 - gpmc,num-cs = <8>; 34 - gpmc,num-waitpins = <4>; 35 - #address-cells = <2>; 36 - #size-cells = <1>; 37 - 38 - onenand@0 { 39 - compatible = "ti,omap2-onenand"; 40 - reg = <0 0 0>; /* CS0, offset 0 */ 41 - gpmc,device-width = <2>; 42 - 43 - #address-cells = <1>; 44 - #size-cells = <1>; 45 - 46 - /* partitions go here */ 47 - }; 48 - };
+121
Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mtd/ti,gpmc-nand.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Texas Instruments GPMC NAND Flash controller. 8 + 9 + maintainers: 10 + - Tony Lindgren <tony@atomide.com> 11 + - Roger Quadros <rogerq@kernel.org> 12 + 13 + description: 14 + GPMC NAND controller/Flash is represented as a child of the 15 + GPMC controller node. 16 + 17 + properties: 18 + compatible: 19 + const: ti,omap2-nand 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + interrupts: 25 + items: 26 + - description: Interrupt for fifoevent 27 + - description: Interrupt for termcount 28 + 29 + "#address-cells": true 30 + 31 + "#size-cells": true 32 + 33 + ti,nand-ecc-opt: 34 + description: Desired ECC algorithm 35 + $ref: /schemas/types.yaml#/definitions/string 36 + enum: [sw, ham1, bch4, bch8, bch16] 37 + 38 + ti,nand-xfer-type: 39 + description: Data transfer method between controller and chip. 40 + $ref: /schemas/types.yaml#/definitions/string 41 + enum: [prefetch-polled, polled, prefetch-dma, prefetch-irq] 42 + default: prefetch-polled 43 + 44 + ti,elm-id: 45 + description: 46 + phandle to the ELM (Error Location Module). 47 + $ref: /schemas/types.yaml#/definitions/phandle 48 + 49 + nand-bus-width: 50 + description: 51 + Bus width to the NAND chip 52 + $ref: /schemas/types.yaml#/definitions/uint32 53 + enum: [8, 16] 54 + default: 8 55 + 56 + patternProperties: 57 + "@[0-9a-f]+$": 58 + $ref: "/schemas/mtd/partitions/partition.yaml" 59 + 60 + allOf: 61 + - $ref: "/schemas/memory-controllers/ti,gpmc-child.yaml" 62 + 63 + required: 64 + - compatible 65 + - reg 66 + - ti,nand-ecc-opt 67 + 68 + unevaluatedProperties: false 69 + 70 + examples: 71 + - | 72 + #include <dt-bindings/interrupt-controller/arm-gic.h> 73 + #include <dt-bindings/gpio/gpio.h> 74 + 75 + gpmc: memory-controller@50000000 { 76 + compatible = "ti,am3352-gpmc"; 77 + dmas = <&edma 52 0>; 78 + dma-names = "rxtx"; 79 + clocks = <&l3s_gclk>; 80 + clock-names = "fck"; 81 + reg = <0x50000000 0x2000>; 82 + interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 83 + gpmc,num-cs = <7>; 84 + gpmc,num-waitpins = <2>; 85 + #address-cells = <2>; 86 + #size-cells = <1>; 87 + interrupt-controller; 88 + #interrupt-cells = <2>; 89 + gpio-controller; 90 + #gpio-cells = <2>; 91 + 92 + ranges = <0 0 0x08000000 0x01000000>; /* CS0 space. Min partition = 16MB */ 93 + nand@0,0 { 94 + compatible = "ti,omap2-nand"; 95 + reg = <0 0 4>; /* device IO registers */ 96 + interrupt-parent = <&gpmc>; 97 + interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 98 + <1 IRQ_TYPE_NONE>; /* termcount */ 99 + ti,nand-xfer-type = "prefetch-dma"; 100 + ti,nand-ecc-opt = "bch16"; 101 + ti,elm-id = <&elm>; 102 + #address-cells = <1>; 103 + #size-cells = <1>; 104 + 105 + /* NAND generic properties */ 106 + nand-bus-width = <8>; 107 + rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */ 108 + 109 + /* GPMC properties*/ 110 + gpmc,device-width = <1>; 111 + 112 + partition@0 { 113 + label = "NAND.SPL"; 114 + reg = <0x00000000 0x00040000>; 115 + }; 116 + partition@1 { 117 + label = "NAND.SPL.backup1"; 118 + reg = <0x00040000 0x00040000>; 119 + }; 120 + }; 121 + };
+81
Documentation/devicetree/bindings/mtd/ti,gpmc-onenand.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mtd/ti,gpmc-onenand.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: OneNAND over Texas Instruments GPMC bus. 8 + 9 + maintainers: 10 + - Tony Lindgren <tony@atomide.com> 11 + - Roger Quadros <rogerq@kernel.org> 12 + 13 + description: 14 + GPMC connected OneNAND (found on OMAP boards) are represented 15 + as child nodes of the GPMC controller. 16 + 17 + properties: 18 + compatible: 19 + const: ti,omap2-onenand 20 + 21 + reg: 22 + items: 23 + - description: | 24 + Chip Select number, register offset and size of 25 + OneNAND register window. 26 + 27 + "#address-cells": true 28 + 29 + "#size-cells": true 30 + 31 + int-gpios: 32 + description: GPIO specifier for the INT pin. 33 + 34 + patternProperties: 35 + "@[0-9a-f]+$": 36 + $ref: "/schemas/mtd/partitions/partition.yaml" 37 + 38 + allOf: 39 + - $ref: "/schemas/memory-controllers/ti,gpmc-child.yaml" 40 + 41 + required: 42 + - compatible 43 + - reg 44 + - "#address-cells" 45 + - "#size-cells" 46 + 47 + unevaluatedProperties: false 48 + 49 + examples: 50 + - | 51 + gpmc: memory-controller@6e000000 { 52 + compatible = "ti,omap3430-gpmc"; 53 + reg = <0x6e000000 0x02d0>; 54 + interrupts = <20>; 55 + gpmc,num-cs = <8>; 56 + gpmc,num-waitpins = <4>; 57 + clocks = <&l3s_clkctrl>; 58 + clock-names = "fck"; 59 + #address-cells = <2>; 60 + #size-cells = <1>; 61 + 62 + ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */ 63 + <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */ 64 + 65 + onenand@0,0 { 66 + compatible = "ti,omap2-onenand"; 67 + reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */ 68 + #address-cells = <1>; 69 + #size-cells = <1>; 70 + 71 + partition@0 { 72 + label = "bootloader"; 73 + reg = <0x00000000 0x00100000>; 74 + }; 75 + 76 + partition@100000 { 77 + label = "config"; 78 + reg = <0x00100000 0x002c0000>; 79 + }; 80 + }; 81 + };
-97
Documentation/devicetree/bindings/net/gpmc-eth.txt
··· 1 - Device tree bindings for Ethernet chip connected to TI GPMC 2 - 3 - Besides being used to interface with external memory devices, the 4 - General-Purpose Memory Controller can be used to connect Pseudo-SRAM devices 5 - such as ethernet controllers to processors using the TI GPMC as a data bus. 6 - 7 - Ethernet controllers connected to TI GPMC are represented as child nodes of 8 - the GPMC controller with an "ethernet" name. 9 - 10 - All timing relevant properties as well as generic GPMC child properties are 11 - explained in a separate documents. Please refer to 12 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 13 - 14 - For the properties relevant to the ethernet controller connected to the GPMC 15 - refer to the binding documentation of the device. For example, the documentation 16 - for the SMSC 911x is Documentation/devicetree/bindings/net/smsc,lan9115.yaml 17 - 18 - Child nodes need to specify the GPMC bus address width using the "bank-width" 19 - property but is possible that an ethernet controller also has a property to 20 - specify the I/O registers address width. Even when the GPMC has a maximum 16-bit 21 - address width, it supports devices with 32-bit word registers. 22 - For example with an SMSC LAN911x/912x controller connected to the TI GPMC on an 23 - OMAP2+ board, "bank-width = <2>;" and "reg-io-width = <4>;". 24 - 25 - Required properties: 26 - - bank-width: Address width of the device in bytes. GPMC supports 8-bit 27 - and 16-bit devices and so must be either 1 or 2 bytes. 28 - - compatible: Compatible string property for the ethernet child device. 29 - - gpmc,cs-on-ns: Chip-select assertion time 30 - - gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads 31 - - gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes 32 - - gpmc,oe-on-ns: Output-enable assertion time 33 - - gpmc,oe-off-ns: Output-enable de-assertion time 34 - - gpmc,we-on-ns: Write-enable assertion time 35 - - gpmc,we-off-ns: Write-enable de-assertion time 36 - - gpmc,access-ns: Start cycle to first data capture (read access) 37 - - gpmc,rd-cycle-ns: Total read cycle time 38 - - gpmc,wr-cycle-ns: Total write cycle time 39 - - reg: Chip-select, base address (relative to chip-select) 40 - and size of the memory mapped for the device. 41 - Note that base address will be typically 0 as this 42 - is the start of the chip-select. 43 - 44 - Optional properties: 45 - - gpmc,XXX Additional GPMC timings and settings parameters. See 46 - Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 47 - 48 - Example: 49 - 50 - gpmc: gpmc@6e000000 { 51 - compatible = "ti,omap3430-gpmc"; 52 - ti,hwmods = "gpmc"; 53 - reg = <0x6e000000 0x1000>; 54 - interrupts = <20>; 55 - gpmc,num-cs = <8>; 56 - gpmc,num-waitpins = <4>; 57 - #address-cells = <2>; 58 - #size-cells = <1>; 59 - 60 - ranges = <5 0 0x2c000000 0x1000000>; 61 - 62 - ethernet@5,0 { 63 - compatible = "smsc,lan9221", "smsc,lan9115"; 64 - reg = <5 0 0xff>; 65 - bank-width = <2>; 66 - 67 - gpmc,mux-add-data; 68 - gpmc,cs-on-ns = <0>; 69 - gpmc,cs-rd-off-ns = <186>; 70 - gpmc,cs-wr-off-ns = <186>; 71 - gpmc,adv-on-ns = <12>; 72 - gpmc,adv-rd-off-ns = <48>; 73 - gpmc,adv-wr-off-ns = <48>; 74 - gpmc,oe-on-ns = <54>; 75 - gpmc,oe-off-ns = <168>; 76 - gpmc,we-on-ns = <54>; 77 - gpmc,we-off-ns = <168>; 78 - gpmc,rd-cycle-ns = <186>; 79 - gpmc,wr-cycle-ns = <186>; 80 - gpmc,access-ns = <114>; 81 - gpmc,page-burst-access-ns = <6>; 82 - gpmc,bus-turnaround-ns = <12>; 83 - gpmc,cycle2cycle-delay-ns = <18>; 84 - gpmc,wr-data-mux-bus-ns = <90>; 85 - gpmc,wr-access-ns = <186>; 86 - gpmc,cycle2cycle-samecsen; 87 - gpmc,cycle2cycle-diffcsen; 88 - 89 - interrupt-parent = <&gpio6>; 90 - interrupts = <16>; 91 - vmmc-supply = <&vddvario>; 92 - vmmc_aux-supply = <&vdd33a>; 93 - reg-io-width = <4>; 94 - 95 - smsc,save-mac-address; 96 - }; 97 - };
+2 -2
arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi
··· 25 25 compatible = "smsc,lan9221", "smsc,lan9115"; 26 26 bank-width = <2>; 27 27 gpmc,device-width = <1>; 28 - gpmc,cycle2cycle-samecsen = <1>; 29 - gpmc,cycle2cycle-diffcsen = <1>; 28 + gpmc,cycle2cycle-samecsen; 29 + gpmc,cycle2cycle-diffcsen; 30 30 gpmc,cs-on-ns = <5>; 31 31 gpmc,cs-rd-off-ns = <150>; 32 32 gpmc,cs-wr-off-ns = <150>;
+1 -1
arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi
··· 29 29 compatible = "smsc,lan9221","smsc,lan9115"; 30 30 bank-width = <2>; 31 31 32 - gpmc,mux-add-data; 32 + gpmc,mux-add-data = <0>; 33 33 gpmc,cs-on-ns = <0>; 34 34 gpmc,cs-rd-off-ns = <42>; 35 35 gpmc,cs-wr-off-ns = <36>;
+2 -2
arch/arm/boot/dts/omap-zoom-common.dtsi
··· 27 27 gpmc,mux-add-data = <0>; 28 28 gpmc,device-width = <1>; 29 29 gpmc,wait-pin = <1>; 30 - gpmc,cycle2cycle-samecsen = <1>; 31 - gpmc,cycle2cycle-diffcsen = <1>; 30 + gpmc,cycle2cycle-samecsen; 31 + gpmc,cycle2cycle-diffcsen; 32 32 gpmc,cs-on-ns = <5>; 33 33 gpmc,cs-rd-off-ns = <155>; 34 34 gpmc,cs-wr-off-ns = <155>;
+2 -2
arch/arm/boot/dts/omap2430-sdp.dts
··· 43 43 gpmc,sync-clk-ps = <0>; 44 44 gpmc,mux-add-data = <2>; 45 45 gpmc,device-width = <1>; 46 - gpmc,cycle2cycle-samecsen = <1>; 47 - gpmc,cycle2cycle-diffcsen = <1>; 46 + gpmc,cycle2cycle-samecsen; 47 + gpmc,cycle2cycle-diffcsen; 48 48 gpmc,cs-on-ns = <6>; 49 49 gpmc,cs-rd-off-ns = <187>; 50 50 gpmc,cs-wr-off-ns = <187>;
+2 -2
arch/arm/boot/dts/omap3-devkit8000-common.dtsi
··· 267 267 gpmc,mux-add-data = <0>; 268 268 gpmc,device-width = <1>; 269 269 gpmc,wait-pin = <0>; 270 - gpmc,cycle2cycle-samecsen = <1>; 271 - gpmc,cycle2cycle-diffcsen = <1>; 270 + gpmc,cycle2cycle-samecsen; 271 + gpmc,cycle2cycle-diffcsen; 272 272 273 273 gpmc,cs-on-ns = <6>; 274 274 gpmc,cs-rd-off-ns = <180>;
+1 -1
arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi
··· 22 22 compatible = "smsc,lan9221","smsc,lan9115"; 23 23 bank-width = <2>; 24 24 25 - gpmc,mux-add-data; 25 + gpmc,mux-add-data = <0>; 26 26 gpmc,cs-on-ns = <0>; 27 27 gpmc,cs-rd-off-ns = <42>; 28 28 gpmc,cs-wr-off-ns = <36>;
+2 -2
arch/arm/boot/dts/omap3-sb-t35.dtsi
··· 108 108 reg = <4 0 0xff>; 109 109 bank-width = <2>; 110 110 gpmc,device-width = <1>; 111 - gpmc,cycle2cycle-samecsen = <1>; 112 - gpmc,cycle2cycle-diffcsen = <1>; 111 + gpmc,cycle2cycle-samecsen; 112 + gpmc,cycle2cycle-diffcsen; 113 113 gpmc,cs-on-ns = <5>; 114 114 gpmc,cs-rd-off-ns = <150>; 115 115 gpmc,cs-wr-off-ns = <150>;