1*3aee3eecSNeil Armstrong# SPDX-License-Identifier: GPL-2.0 2*3aee3eecSNeil Armstrong%YAML 1.2 3*3aee3eecSNeil Armstrong--- 4*3aee3eecSNeil Armstrong$id: http://devicetree.org/schemas/mmc/mmc-controller-common.yaml# 5*3aee3eecSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3aee3eecSNeil Armstrong 7*3aee3eecSNeil Armstrongtitle: MMC Controller & Slots Common Properties 8*3aee3eecSNeil Armstrong 9*3aee3eecSNeil Armstrongmaintainers: 10*3aee3eecSNeil Armstrong - Ulf Hansson <ulf.hansson@linaro.org> 11*3aee3eecSNeil Armstrong 12*3aee3eecSNeil Armstrongdescription: | 13*3aee3eecSNeil Armstrong These properties are common to multiple MMC host controllers and the 14*3aee3eecSNeil Armstrong possible slots or ports for multi-slot controllers. 15*3aee3eecSNeil Armstrong 16*3aee3eecSNeil Armstrongproperties: 17*3aee3eecSNeil Armstrong "#address-cells": 18*3aee3eecSNeil Armstrong const: 1 19*3aee3eecSNeil Armstrong description: | 20*3aee3eecSNeil Armstrong The cell is the SDIO function number if a function subnode is used. 21*3aee3eecSNeil Armstrong 22*3aee3eecSNeil Armstrong "#size-cells": 23*3aee3eecSNeil Armstrong const: 0 24*3aee3eecSNeil Armstrong 25*3aee3eecSNeil Armstrong # Card Detection. 26*3aee3eecSNeil Armstrong # If none of these properties are supplied, the host native card 27*3aee3eecSNeil Armstrong # detect will be used. Only one of them should be provided. 28*3aee3eecSNeil Armstrong 29*3aee3eecSNeil Armstrong broken-cd: 30*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 31*3aee3eecSNeil Armstrong description: 32*3aee3eecSNeil Armstrong There is no card detection available; polling must be used. 33*3aee3eecSNeil Armstrong 34*3aee3eecSNeil Armstrong cd-gpios: 35*3aee3eecSNeil Armstrong maxItems: 1 36*3aee3eecSNeil Armstrong description: 37*3aee3eecSNeil Armstrong The card detection will be done using the GPIO provided. 38*3aee3eecSNeil Armstrong 39*3aee3eecSNeil Armstrong non-removable: 40*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 41*3aee3eecSNeil Armstrong description: 42*3aee3eecSNeil Armstrong Non-removable slot (like eMMC); assume always present. 43*3aee3eecSNeil Armstrong 44*3aee3eecSNeil Armstrong # *NOTE* on CD and WP polarity. To use common for all SD/MMC host 45*3aee3eecSNeil Armstrong # controllers line polarity properties, we have to fix the meaning 46*3aee3eecSNeil Armstrong # of the "normal" and "inverted" line levels. We choose to follow 47*3aee3eecSNeil Armstrong # the SDHCI standard, which specifies both those lines as "active 48*3aee3eecSNeil Armstrong # low." Therefore, using the "cd-inverted" property means, that the 49*3aee3eecSNeil Armstrong # CD line is active high, i.e. it is high, when a card is 50*3aee3eecSNeil Armstrong # inserted. Similar logic applies to the "wp-inverted" property. 51*3aee3eecSNeil Armstrong # 52*3aee3eecSNeil Armstrong # CD and WP lines can be implemented on the hardware in one of two 53*3aee3eecSNeil Armstrong # ways: as GPIOs, specified in cd-gpios and wp-gpios properties, or 54*3aee3eecSNeil Armstrong # as dedicated pins. Polarity of dedicated pins can be specified, 55*3aee3eecSNeil Armstrong # using *-inverted properties. GPIO polarity can also be specified 56*3aee3eecSNeil Armstrong # using the GPIO_ACTIVE_LOW flag. This creates an ambiguity in the 57*3aee3eecSNeil Armstrong # latter case. We choose to use the XOR logic for GPIO CD and WP 58*3aee3eecSNeil Armstrong # lines. This means, the two properties are "superimposed," for 59*3aee3eecSNeil Armstrong # example leaving the GPIO_ACTIVE_LOW flag clear and specifying the 60*3aee3eecSNeil Armstrong # respective *-inverted property property results in a 61*3aee3eecSNeil Armstrong # double-inversion and actually means the "normal" line polarity is 62*3aee3eecSNeil Armstrong # in effect. 63*3aee3eecSNeil Armstrong wp-inverted: 64*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 65*3aee3eecSNeil Armstrong description: 66*3aee3eecSNeil Armstrong The Write Protect line polarity is inverted. 67*3aee3eecSNeil Armstrong 68*3aee3eecSNeil Armstrong cd-inverted: 69*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 70*3aee3eecSNeil Armstrong description: 71*3aee3eecSNeil Armstrong The CD line polarity is inverted. 72*3aee3eecSNeil Armstrong 73*3aee3eecSNeil Armstrong # Other properties 74*3aee3eecSNeil Armstrong 75*3aee3eecSNeil Armstrong bus-width: 76*3aee3eecSNeil Armstrong description: 77*3aee3eecSNeil Armstrong Number of data lines. 78*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/uint32 79*3aee3eecSNeil Armstrong enum: [1, 4, 8] 80*3aee3eecSNeil Armstrong default: 1 81*3aee3eecSNeil Armstrong 82*3aee3eecSNeil Armstrong max-frequency: 83*3aee3eecSNeil Armstrong description: | 84*3aee3eecSNeil Armstrong Maximum operating frequency of the bus: 85*3aee3eecSNeil Armstrong - for eMMC, the maximum supported frequency is 200MHz, 86*3aee3eecSNeil Armstrong - for SD/SDIO cards the SDR104 mode has a max supported 87*3aee3eecSNeil Armstrong frequency of 208MHz, 88*3aee3eecSNeil Armstrong - some mmc host controllers do support a max frequency upto 89*3aee3eecSNeil Armstrong 384MHz. 90*3aee3eecSNeil Armstrong So, lets keep the maximum supported value here. 91*3aee3eecSNeil Armstrong 92*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/uint32 93*3aee3eecSNeil Armstrong minimum: 400000 94*3aee3eecSNeil Armstrong maximum: 384000000 95*3aee3eecSNeil Armstrong 96*3aee3eecSNeil Armstrong disable-wp: 97*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 98*3aee3eecSNeil Armstrong description: 99*3aee3eecSNeil Armstrong When set, no physical write-protect line is present. This 100*3aee3eecSNeil Armstrong property should only be specified when the controller has a 101*3aee3eecSNeil Armstrong dedicated write-protect detection logic. If a GPIO is always used 102*3aee3eecSNeil Armstrong for the write-protect detection logic, it is sufficient to not 103*3aee3eecSNeil Armstrong specify the wp-gpios property in the absence of a write-protect 104*3aee3eecSNeil Armstrong line. Not used in combination with eMMC or SDIO. 105*3aee3eecSNeil Armstrong 106*3aee3eecSNeil Armstrong wp-gpios: 107*3aee3eecSNeil Armstrong maxItems: 1 108*3aee3eecSNeil Armstrong description: 109*3aee3eecSNeil Armstrong GPIO to use for the write-protect detection. 110*3aee3eecSNeil Armstrong 111*3aee3eecSNeil Armstrong cd-debounce-delay-ms: 112*3aee3eecSNeil Armstrong description: 113*3aee3eecSNeil Armstrong Set delay time before detecting card after card insert 114*3aee3eecSNeil Armstrong interrupt. 115*3aee3eecSNeil Armstrong 116*3aee3eecSNeil Armstrong no-1-8-v: 117*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 118*3aee3eecSNeil Armstrong description: 119*3aee3eecSNeil Armstrong When specified, denotes that 1.8V card voltage is not supported 120*3aee3eecSNeil Armstrong on this system, even if the controller claims it. 121*3aee3eecSNeil Armstrong 122*3aee3eecSNeil Armstrong cap-sd-highspeed: 123*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 124*3aee3eecSNeil Armstrong description: 125*3aee3eecSNeil Armstrong SD high-speed timing is supported. 126*3aee3eecSNeil Armstrong 127*3aee3eecSNeil Armstrong cap-mmc-highspeed: 128*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 129*3aee3eecSNeil Armstrong description: 130*3aee3eecSNeil Armstrong MMC high-speed timing is supported. 131*3aee3eecSNeil Armstrong 132*3aee3eecSNeil Armstrong sd-uhs-sdr12: 133*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 134*3aee3eecSNeil Armstrong description: 135*3aee3eecSNeil Armstrong SD UHS SDR12 speed is supported. 136*3aee3eecSNeil Armstrong 137*3aee3eecSNeil Armstrong sd-uhs-sdr25: 138*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 139*3aee3eecSNeil Armstrong description: 140*3aee3eecSNeil Armstrong SD UHS SDR25 speed is supported. 141*3aee3eecSNeil Armstrong 142*3aee3eecSNeil Armstrong sd-uhs-sdr50: 143*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 144*3aee3eecSNeil Armstrong description: 145*3aee3eecSNeil Armstrong SD UHS SDR50 speed is supported. 146*3aee3eecSNeil Armstrong 147*3aee3eecSNeil Armstrong sd-uhs-sdr104: 148*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 149*3aee3eecSNeil Armstrong description: 150*3aee3eecSNeil Armstrong SD UHS SDR104 speed is supported. 151*3aee3eecSNeil Armstrong 152*3aee3eecSNeil Armstrong sd-uhs-ddr50: 153*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 154*3aee3eecSNeil Armstrong description: 155*3aee3eecSNeil Armstrong SD UHS DDR50 speed is supported. 156*3aee3eecSNeil Armstrong 157*3aee3eecSNeil Armstrong cap-power-off-card: 158*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 159*3aee3eecSNeil Armstrong description: 160*3aee3eecSNeil Armstrong Powering off the card is safe. 161*3aee3eecSNeil Armstrong 162*3aee3eecSNeil Armstrong cap-mmc-hw-reset: 163*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 164*3aee3eecSNeil Armstrong description: 165*3aee3eecSNeil Armstrong eMMC hardware reset is supported 166*3aee3eecSNeil Armstrong 167*3aee3eecSNeil Armstrong cap-sdio-irq: 168*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 169*3aee3eecSNeil Armstrong description: 170*3aee3eecSNeil Armstrong enable SDIO IRQ signalling on this interface 171*3aee3eecSNeil Armstrong 172*3aee3eecSNeil Armstrong full-pwr-cycle: 173*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 174*3aee3eecSNeil Armstrong description: 175*3aee3eecSNeil Armstrong Full power cycle of the card is supported. 176*3aee3eecSNeil Armstrong 177*3aee3eecSNeil Armstrong full-pwr-cycle-in-suspend: 178*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 179*3aee3eecSNeil Armstrong description: 180*3aee3eecSNeil Armstrong Full power cycle of the card in suspend is supported. 181*3aee3eecSNeil Armstrong 182*3aee3eecSNeil Armstrong mmc-ddr-1_2v: 183*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 184*3aee3eecSNeil Armstrong description: 185*3aee3eecSNeil Armstrong eMMC high-speed DDR mode (1.2V I/O) is supported. 186*3aee3eecSNeil Armstrong 187*3aee3eecSNeil Armstrong mmc-ddr-1_8v: 188*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 189*3aee3eecSNeil Armstrong description: 190*3aee3eecSNeil Armstrong eMMC high-speed DDR mode (1.8V I/O) is supported. 191*3aee3eecSNeil Armstrong 192*3aee3eecSNeil Armstrong mmc-ddr-3_3v: 193*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 194*3aee3eecSNeil Armstrong description: 195*3aee3eecSNeil Armstrong eMMC high-speed DDR mode (3.3V I/O) is supported. 196*3aee3eecSNeil Armstrong 197*3aee3eecSNeil Armstrong mmc-hs200-1_2v: 198*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 199*3aee3eecSNeil Armstrong description: 200*3aee3eecSNeil Armstrong eMMC HS200 mode (1.2V I/O) is supported. 201*3aee3eecSNeil Armstrong 202*3aee3eecSNeil Armstrong mmc-hs200-1_8v: 203*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 204*3aee3eecSNeil Armstrong description: 205*3aee3eecSNeil Armstrong eMMC HS200 mode (1.8V I/O) is supported. 206*3aee3eecSNeil Armstrong 207*3aee3eecSNeil Armstrong mmc-hs400-1_2v: 208*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 209*3aee3eecSNeil Armstrong description: 210*3aee3eecSNeil Armstrong eMMC HS400 mode (1.2V I/O) is supported. 211*3aee3eecSNeil Armstrong 212*3aee3eecSNeil Armstrong mmc-hs400-1_8v: 213*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 214*3aee3eecSNeil Armstrong description: 215*3aee3eecSNeil Armstrong eMMC HS400 mode (1.8V I/O) is supported. 216*3aee3eecSNeil Armstrong 217*3aee3eecSNeil Armstrong mmc-hs400-enhanced-strobe: 218*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 219*3aee3eecSNeil Armstrong description: 220*3aee3eecSNeil Armstrong eMMC HS400 enhanced strobe mode is supported 221*3aee3eecSNeil Armstrong 222*3aee3eecSNeil Armstrong no-mmc-hs400: 223*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 224*3aee3eecSNeil Armstrong description: 225*3aee3eecSNeil Armstrong All eMMC HS400 modes are not supported. 226*3aee3eecSNeil Armstrong 227*3aee3eecSNeil Armstrong dsr: 228*3aee3eecSNeil Armstrong description: 229*3aee3eecSNeil Armstrong Value the card Driver Stage Register (DSR) should be programmed 230*3aee3eecSNeil Armstrong with. 231*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/uint32 232*3aee3eecSNeil Armstrong minimum: 0 233*3aee3eecSNeil Armstrong maximum: 0xffff 234*3aee3eecSNeil Armstrong 235*3aee3eecSNeil Armstrong no-sdio: 236*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 237*3aee3eecSNeil Armstrong description: 238*3aee3eecSNeil Armstrong Controller is limited to send SDIO commands during 239*3aee3eecSNeil Armstrong initialization. 240*3aee3eecSNeil Armstrong 241*3aee3eecSNeil Armstrong no-sd: 242*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 243*3aee3eecSNeil Armstrong description: 244*3aee3eecSNeil Armstrong Controller is limited to send SD commands during initialization. 245*3aee3eecSNeil Armstrong 246*3aee3eecSNeil Armstrong no-mmc: 247*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 248*3aee3eecSNeil Armstrong description: 249*3aee3eecSNeil Armstrong Controller is limited to send MMC commands during 250*3aee3eecSNeil Armstrong initialization. 251*3aee3eecSNeil Armstrong 252*3aee3eecSNeil Armstrong fixed-emmc-driver-type: 253*3aee3eecSNeil Armstrong description: 254*3aee3eecSNeil Armstrong For non-removable eMMC, enforce this driver type. The value is 255*3aee3eecSNeil Armstrong the driver type as specified in the eMMC specification (table 256*3aee3eecSNeil Armstrong 206 in spec version 5.1) 257*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/uint32 258*3aee3eecSNeil Armstrong minimum: 0 259*3aee3eecSNeil Armstrong maximum: 4 260*3aee3eecSNeil Armstrong 261*3aee3eecSNeil Armstrong post-power-on-delay-ms: 262*3aee3eecSNeil Armstrong description: 263*3aee3eecSNeil Armstrong It was invented for MMC pwrseq-simple which could be referred to 264*3aee3eecSNeil Armstrong mmc-pwrseq-simple.yaml. But now it\'s reused as a tunable delay 265*3aee3eecSNeil Armstrong waiting for I/O signalling and card power supply to be stable, 266*3aee3eecSNeil Armstrong regardless of whether pwrseq-simple is used. Default to 10ms if 267*3aee3eecSNeil Armstrong no available. 268*3aee3eecSNeil Armstrong default: 10 269*3aee3eecSNeil Armstrong 270*3aee3eecSNeil Armstrong supports-cqe: 271*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 272*3aee3eecSNeil Armstrong description: 273*3aee3eecSNeil Armstrong The presence of this property indicates that the corresponding 274*3aee3eecSNeil Armstrong MMC host controller supports HW command queue feature. 275*3aee3eecSNeil Armstrong 276*3aee3eecSNeil Armstrong disable-cqe-dcmd: 277*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 278*3aee3eecSNeil Armstrong description: 279*3aee3eecSNeil Armstrong The presence of this property indicates that the MMC 280*3aee3eecSNeil Armstrong controller\'s command queue engine (CQE) does not support direct 281*3aee3eecSNeil Armstrong commands (DCMDs). 282*3aee3eecSNeil Armstrong 283*3aee3eecSNeil Armstrong keep-power-in-suspend: 284*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 285*3aee3eecSNeil Armstrong description: 286*3aee3eecSNeil Armstrong SDIO only. Preserves card power during a suspend/resume cycle. 287*3aee3eecSNeil Armstrong 288*3aee3eecSNeil Armstrong wakeup-source: 289*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/flag 290*3aee3eecSNeil Armstrong description: 291*3aee3eecSNeil Armstrong SDIO only. Enables wake up of host system on SDIO IRQ assertion. 292*3aee3eecSNeil Armstrong 293*3aee3eecSNeil Armstrong vmmc-supply: 294*3aee3eecSNeil Armstrong description: 295*3aee3eecSNeil Armstrong Supply for the card power 296*3aee3eecSNeil Armstrong 297*3aee3eecSNeil Armstrong vqmmc-supply: 298*3aee3eecSNeil Armstrong description: 299*3aee3eecSNeil Armstrong Supply for the bus IO line power, such as a level shifter. 300*3aee3eecSNeil Armstrong If the level shifter is controlled by a GPIO line, this shall 301*3aee3eecSNeil Armstrong be modeled as a "regulator-fixed" with a GPIO line for 302*3aee3eecSNeil Armstrong switching the level shifter on/off. 303*3aee3eecSNeil Armstrong 304*3aee3eecSNeil Armstrong mmc-pwrseq: 305*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/phandle 306*3aee3eecSNeil Armstrong description: 307*3aee3eecSNeil Armstrong System-on-Chip designs may specify a specific MMC power 308*3aee3eecSNeil Armstrong sequence. To successfully detect an (e)MMC/SD/SDIO card, that 309*3aee3eecSNeil Armstrong power sequence must be maintained while initializing the card. 310*3aee3eecSNeil Armstrong 311*3aee3eecSNeil ArmstrongpatternProperties: 312*3aee3eecSNeil Armstrong "^.*@[0-9]+$": 313*3aee3eecSNeil Armstrong type: object 314*3aee3eecSNeil Armstrong description: | 315*3aee3eecSNeil Armstrong On embedded systems the cards connected to a host may need 316*3aee3eecSNeil Armstrong additional properties. These can be specified in subnodes to the 317*3aee3eecSNeil Armstrong host controller node. The subnodes are identified by the 318*3aee3eecSNeil Armstrong standard \'reg\' property. Which information exactly can be 319*3aee3eecSNeil Armstrong specified depends on the bindings for the SDIO function driver 320*3aee3eecSNeil Armstrong for the subnode, as specified by the compatible string. 321*3aee3eecSNeil Armstrong 322*3aee3eecSNeil Armstrong properties: 323*3aee3eecSNeil Armstrong compatible: 324*3aee3eecSNeil Armstrong description: | 325*3aee3eecSNeil Armstrong Name of SDIO function following generic names recommended 326*3aee3eecSNeil Armstrong practice 327*3aee3eecSNeil Armstrong 328*3aee3eecSNeil Armstrong reg: 329*3aee3eecSNeil Armstrong items: 330*3aee3eecSNeil Armstrong - minimum: 0 331*3aee3eecSNeil Armstrong maximum: 7 332*3aee3eecSNeil Armstrong description: 333*3aee3eecSNeil Armstrong Must contain the SDIO function number of the function this 334*3aee3eecSNeil Armstrong subnode describes. A value of 0 denotes the memory SD 335*3aee3eecSNeil Armstrong function, values from 1 to 7 denote the SDIO functions. 336*3aee3eecSNeil Armstrong 337*3aee3eecSNeil Armstrong required: 338*3aee3eecSNeil Armstrong - reg 339*3aee3eecSNeil Armstrong 340*3aee3eecSNeil Armstrong "^clk-phase-(legacy|sd-hs|mmc-(hs|hs[24]00|ddr52)|uhs-(sdr(12|25|50|104)|ddr50))$": 341*3aee3eecSNeil Armstrong $ref: /schemas/types.yaml#/definitions/uint32-array 342*3aee3eecSNeil Armstrong 343*3aee3eecSNeil Armstrong minItems: 2 344*3aee3eecSNeil Armstrong maxItems: 2 345*3aee3eecSNeil Armstrong items: 346*3aee3eecSNeil Armstrong minimum: 0 347*3aee3eecSNeil Armstrong maximum: 359 348*3aee3eecSNeil Armstrong description: 349*3aee3eecSNeil Armstrong Set the clock (phase) delays which are to be configured in the 350*3aee3eecSNeil Armstrong controller while switching to particular speed mode. These values 351*3aee3eecSNeil Armstrong are in pair of degrees. 352*3aee3eecSNeil Armstrong 353*3aee3eecSNeil Armstrongdependencies: 354*3aee3eecSNeil Armstrong cd-debounce-delay-ms: [ cd-gpios ] 355*3aee3eecSNeil Armstrong fixed-emmc-driver-type: [ non-removable ] 356*3aee3eecSNeil Armstrong 357*3aee3eecSNeil ArmstrongadditionalProperties: true 358