Home | History | Annotate | Line # | Download | only in dts
      1  1.1  jmcneill // SPDX-License-Identifier: GPL-2.0-or-later
      2  1.1  jmcneill /* SPDX-FileCopyrightText: Alexander Shiyan, <shc_work (a] mail.ru> */
      3  1.1  jmcneill 
      4  1.1  jmcneill /* Based on code by myc_c335x.dts, MYiRtech.com */
      5  1.1  jmcneill /* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ */
      6  1.1  jmcneill 
      7  1.1  jmcneill /dts-v1/;
      8  1.1  jmcneill 
      9  1.1  jmcneill #include "am33xx.dtsi"
     10  1.1  jmcneill 
     11  1.1  jmcneill #include <dt-bindings/interrupt-controller/irq.h>
     12  1.1  jmcneill #include <dt-bindings/leds/common.h>
     13  1.1  jmcneill 
     14  1.1  jmcneill / {
     15  1.1  jmcneill 	model = "MYIR MYC-AM335X";
     16  1.1  jmcneill 	compatible = "myir,myc-am335x", "ti,am33xx";
     17  1.1  jmcneill 
     18  1.1  jmcneill 	cpus {
     19  1.1  jmcneill 		cpu@0 {
     20  1.1  jmcneill 			cpu0-supply = <&vdd_core>;
     21  1.1  jmcneill 			voltage-tolerance = <2>;
     22  1.1  jmcneill 		};
     23  1.1  jmcneill 	};
     24  1.1  jmcneill 
     25  1.1  jmcneill 	memory@80000000 {
     26  1.1  jmcneill 		device_type = "memory";
     27  1.1  jmcneill 		reg = <0x80000000 0x10000000>;
     28  1.1  jmcneill 	};
     29  1.1  jmcneill 
     30  1.1  jmcneill 	vdd_mod: vdd_mod_reg {
     31  1.1  jmcneill 		compatible = "regulator-fixed";
     32  1.1  jmcneill 		regulator-name = "vdd-mod";
     33  1.1  jmcneill 		regulator-always-on;
     34  1.1  jmcneill 		regulator-boot-on;
     35  1.1  jmcneill 	};
     36  1.1  jmcneill 
     37  1.1  jmcneill 	vdd_core: vdd_core_reg {
     38  1.1  jmcneill 		compatible = "regulator-fixed";
     39  1.1  jmcneill 		regulator-name = "vdd-core";
     40  1.1  jmcneill 		regulator-always-on;
     41  1.1  jmcneill 		regulator-boot-on;
     42  1.1  jmcneill 		vin-supply = <&vdd_mod>;
     43  1.1  jmcneill 	};
     44  1.1  jmcneill 
     45  1.1  jmcneill 	leds: leds {
     46  1.1  jmcneill 		compatible = "gpio-leds";
     47  1.1  jmcneill 		pinctrl-names = "default";
     48  1.1  jmcneill 		pinctrl-0 = <&led_mod_pins>;
     49  1.1  jmcneill 
     50  1.1  jmcneill 		led_mod: led_mod {
     51  1.1  jmcneill 			label = "module:user";
     52  1.1  jmcneill 			gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
     53  1.1  jmcneill 			color = <LED_COLOR_ID_GREEN>;
     54  1.1  jmcneill 			default-state = "off";
     55  1.1  jmcneill 			panic-indicator;
     56  1.1  jmcneill 		};
     57  1.1  jmcneill 	};
     58  1.1  jmcneill };
     59  1.1  jmcneill 
     60  1.1  jmcneill &mac_sw {
     61  1.1  jmcneill 	pinctrl-names = "default", "sleep";
     62  1.1  jmcneill 	pinctrl-0 = <&eth_slave1_pins_default>;
     63  1.1  jmcneill 	pinctrl-1 = <&eth_slave1_pins_sleep>;
     64  1.1  jmcneill 	status = "okay";
     65  1.1  jmcneill };
     66  1.1  jmcneill 
     67  1.1  jmcneill &cpsw_port1 {
     68  1.1  jmcneill 	phy-handle = <&phy0>;
     69  1.1  jmcneill 	phy-mode = "rgmii-id";
     70  1.1  jmcneill 	ti,dual-emac-pvid = <1>;
     71  1.1  jmcneill };
     72  1.1  jmcneill 
     73  1.1  jmcneill &cpsw_port2 {
     74  1.1  jmcneill 	status = "disabled";
     75  1.1  jmcneill };
     76  1.1  jmcneill 
     77  1.1  jmcneill &davinci_mdio_sw {
     78  1.1  jmcneill 	pinctrl-names = "default", "sleep";
     79  1.1  jmcneill 	pinctrl-0 = <&mdio_pins_default>;
     80  1.1  jmcneill 	pinctrl-1 = <&mdio_pins_sleep>;
     81  1.1  jmcneill 
     82  1.1  jmcneill 	phy0: ethernet-phy@4 {
     83  1.1  jmcneill 		reg = <4>;
     84  1.1  jmcneill 	};
     85  1.1  jmcneill };
     86  1.1  jmcneill 
     87  1.1  jmcneill &elm {
     88  1.1  jmcneill 	status = "okay";
     89  1.1  jmcneill };
     90  1.1  jmcneill 
     91  1.1  jmcneill &gpmc {
     92  1.1  jmcneill 	pinctrl-names = "default", "sleep";
     93  1.1  jmcneill 	pinctrl-0 = <&nand_pins_default>;
     94  1.1  jmcneill 	pinctrl-1 = <&nand_pins_sleep>;
     95  1.1  jmcneill 	ranges = <0 0 0x8000000 0x1000000>;
     96  1.1  jmcneill 	status = "okay";
     97  1.1  jmcneill 
     98  1.1  jmcneill 	nand0: nand@0,0 {
     99  1.1  jmcneill 		compatible = "ti,omap2-nand";
    100  1.1  jmcneill 		reg = <0 0 4>;
    101  1.1  jmcneill 		interrupt-parent = <&gpmc>;
    102  1.1  jmcneill 		interrupts = <0 IRQ_TYPE_NONE>, <1 IRQ_TYPE_NONE>;
    103  1.1  jmcneill 		nand-bus-width = <8>;
    104  1.1  jmcneill 		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>;
    105  1.1  jmcneill 		gpmc,device-width = <1>;
    106  1.1  jmcneill 		gpmc,sync-clk-ps = <0>;
    107  1.1  jmcneill 		gpmc,cs-on-ns = <0>;
    108  1.1  jmcneill 		gpmc,cs-rd-off-ns = <44>;
    109  1.1  jmcneill 		gpmc,cs-wr-off-ns = <44>;
    110  1.1  jmcneill 		gpmc,adv-on-ns = <6>;
    111  1.1  jmcneill 		gpmc,adv-rd-off-ns = <34>;
    112  1.1  jmcneill 		gpmc,adv-wr-off-ns = <44>;
    113  1.1  jmcneill 		gpmc,we-on-ns = <0>;
    114  1.1  jmcneill 		gpmc,we-off-ns = <40>;
    115  1.1  jmcneill 		gpmc,oe-on-ns = <0>;
    116  1.1  jmcneill 		gpmc,oe-off-ns = <54>;
    117  1.1  jmcneill 		gpmc,access-ns = <64>;
    118  1.1  jmcneill 		gpmc,rd-cycle-ns = <82>;
    119  1.1  jmcneill 		gpmc,wr-cycle-ns = <82>;
    120  1.1  jmcneill 		gpmc,bus-turnaround-ns = <0>;
    121  1.1  jmcneill 		gpmc,cycle2cycle-delay-ns = <0>;
    122  1.1  jmcneill 		gpmc,clk-activation-ns = <0>;
    123  1.1  jmcneill 		gpmc,wr-access-ns = <40>;
    124  1.1  jmcneill 		gpmc,wr-data-mux-bus-ns = <0>;
    125  1.1  jmcneill 		ti,elm-id = <&elm>;
    126  1.1  jmcneill 		ti,nand-ecc-opt = "bch8";
    127  1.1  jmcneill 
    128  1.1  jmcneill 		#address-cells = <1>;
    129  1.1  jmcneill 		#size-cells = <1>;
    130  1.1  jmcneill 	};
    131  1.1  jmcneill };
    132  1.1  jmcneill 
    133  1.1  jmcneill &i2c0 {
    134  1.1  jmcneill 	pinctrl-names = "default", "gpio", "sleep";
    135  1.1  jmcneill 	pinctrl-0 = <&i2c0_pins_default>;
    136  1.1  jmcneill 	pinctrl-1 = <&i2c0_pins_gpio>;
    137  1.1  jmcneill 	pinctrl-2 = <&i2c0_pins_sleep>;
    138  1.1  jmcneill 	clock-frequency = <400000>;
    139  1.1  jmcneill 	scl-gpios = <&gpio3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    140  1.1  jmcneill 	sda-gpios = <&gpio3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
    141  1.1  jmcneill 	status = "okay";
    142  1.1  jmcneill 
    143  1.1  jmcneill 	eeprom: eeprom@50 {
    144  1.1  jmcneill 		compatible = "atmel,24c32";
    145  1.1  jmcneill 		reg = <0x50>;
    146  1.1  jmcneill 		pagesize = <32>;
    147  1.1  jmcneill 		vcc-supply = <&vdd_mod>;
    148  1.1  jmcneill 	};
    149  1.1  jmcneill };
    150  1.1  jmcneill 
    151  1.1  jmcneill &rtc {
    152  1.1  jmcneill 	system-power-controller;
    153  1.1  jmcneill };
    154  1.1  jmcneill 
    155  1.1  jmcneill &am33xx_pinmux {
    156  1.1  jmcneill 	mdio_pins_default: pinmux_mdio_pins_default {
    157  1.1  jmcneill 		pinctrl-single,pins = <
    158  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)	/* mdio_data */
    159  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)			/* mdio_clk */
    160  1.1  jmcneill 		>;
    161  1.1  jmcneill 	};
    162  1.1  jmcneill 
    163  1.1  jmcneill 	mdio_pins_sleep: pinmux_mdio_pins_sleep {
    164  1.1  jmcneill 		pinctrl-single,pins = <
    165  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
    166  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
    167  1.1  jmcneill 		>;
    168  1.1  jmcneill 	};
    169  1.1  jmcneill 
    170  1.1  jmcneill 	eth_slave1_pins_default: pinmux_eth_slave1_pins_default {
    171  1.1  jmcneill 		pinctrl-single,pins = <
    172  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_tctl */
    173  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rctl */
    174  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_td3 */
    175  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_td2 */
    176  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_td1 */
    177  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_td0 */
    178  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_tclk */
    179  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rclk */
    180  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rd3 */
    181  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rd2 */
    182  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rd1 */
    183  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2)		/* rgmii1_rd0 */
    184  1.1  jmcneill 		>;
    185  1.1  jmcneill 	};
    186  1.1  jmcneill 
    187  1.1  jmcneill 	eth_slave1_pins_sleep: pinmux_eth_slave1_pins_sleep {
    188  1.1  jmcneill 		pinctrl-single,pins = <
    189  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
    190  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
    191  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    192  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    193  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    194  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    195  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
    196  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
    197  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    198  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    199  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    200  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    201  1.1  jmcneill 		>;
    202  1.1  jmcneill 	};
    203  1.1  jmcneill 
    204  1.1  jmcneill 	i2c0_pins_default: pinmux_i2c0_pins_default {
    205  1.1  jmcneill 		pinctrl-single,pins = <
    206  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0)	/* I2C0_SDA */
    207  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0)	/* I2C0_SCL */
    208  1.1  jmcneill 		>;
    209  1.1  jmcneill 	};
    210  1.1  jmcneill 
    211  1.1  jmcneill 	i2c0_pins_gpio: pinmux_i2c0_pins_gpio {
    212  1.1  jmcneill 		pinctrl-single,pins = <
    213  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT, MUX_MODE7)			/* gpio3[5] */
    214  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT, MUX_MODE7)			/* gpio3[6] */
    215  1.1  jmcneill 		>;
    216  1.1  jmcneill 	};
    217  1.1  jmcneill 
    218  1.1  jmcneill 	i2c0_pins_sleep: pinmux_i2c0_pins_sleep {
    219  1.1  jmcneill 		pinctrl-single,pins = <
    220  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLDOWN, MUX_MODE7)
    221  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLDOWN, MUX_MODE7)
    222  1.1  jmcneill 		>;
    223  1.1  jmcneill 	};
    224  1.1  jmcneill 
    225  1.1  jmcneill 	led_mod_pins: pinmux_led_mod_pins {
    226  1.1  jmcneill 		pinctrl-single,pins = <
    227  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE7)		/* gpio3[18] */
    228  1.1  jmcneill 		>;
    229  1.1  jmcneill 	};
    230  1.1  jmcneill 
    231  1.1  jmcneill 	nand_pins_default: pinmux_nand_pins_default {
    232  1.1  jmcneill 		pinctrl-single,pins = <
    233  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad0 */
    234  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad1 */
    235  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad2 */
    236  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad3 */
    237  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad4 */
    238  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad5 */
    239  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad6 */
    240  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_ad7 */
    241  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0)		/* gpmc_wait0 */
    242  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLUP, MUX_MODE7)		/* gpio0[31] */
    243  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT, MUX_MODE0)			/* gpmc_csn0 */
    244  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT, MUX_MODE0)			/* gpmc_advn_ale */
    245  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT, MUX_MODE0)			/* gpmc_oen_ren */
    246  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT, MUX_MODE0)			/* gpmc_wen */
    247  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT, MUX_MODE0)			/* gpmc_be0n_cle */
    248  1.1  jmcneill 		>;
    249  1.1  jmcneill 	};
    250  1.1  jmcneill 
    251  1.1  jmcneill 	nand_pins_sleep: pinmux_nand_pins_sleep {
    252  1.1  jmcneill 		pinctrl-single,pins = <
    253  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    254  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
    255  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
    256  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
    257  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLDOWN, MUX_MODE7)
    258  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLDOWN, MUX_MODE7)
    259  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLDOWN, MUX_MODE7)
    260  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLDOWN, MUX_MODE7)
    261  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    262  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE7)
    263  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_INPUT_PULLDOWN, MUX_MODE7)
    264  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_INPUT_PULLDOWN, MUX_MODE7)
    265  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_INPUT_PULLDOWN, MUX_MODE7)
    266  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT_PULLDOWN, MUX_MODE7)
    267  1.1  jmcneill 			AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_INPUT_PULLDOWN, MUX_MODE7)
    268  1.1  jmcneill 		>;
    269  1.1  jmcneill 	};
    270  1.1  jmcneill };
    271