|  | /* | 
|  | * Copyright (C) 2016 Nest Labs, Inc. | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or modify | 
|  | * it under the terms of the GNU General Public License version 2 as | 
|  | * published by the Free Software Foundation. | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  |  | 
|  | #include <dt-bindings/gpio/gpio.h> | 
|  | #include <dt-bindings/input/input.h> | 
|  | #include <dt-bindings/interrupt-controller/irq.h> | 
|  | #include "imx6ul.dtsi" | 
|  |  | 
|  | #define PAD_CONFIG__DEFAULT     	0x00001008 | 
|  | #define PAD_CONFIG__ADC         	0x00000008 | 
|  | #define PAD_CONFIG__GPIO        	0x40001008 | 
|  | #define PAD_CONFIG__I2C         	0x40001808 | 
|  | #define PAD_CONFIG__GPIO_PU_22K 	0x4000F008 | 
|  | #define PAD_CONFIG__GPIO_PD_100K 	0x40003008 | 
|  |  | 
|  | / { | 
|  | memory { | 
|  | reg = <0 0>; /* Determined and Populated by Bootloader */ | 
|  | }; | 
|  |  | 
|  | soc { | 
|  | busfreq { | 
|  | status = "disabled"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | aliases { | 
|  | serial-ble0 = &uart3; | 
|  | serial-sensormcu0 = &uart2; | 
|  | }; | 
|  |  | 
|  | gpio-keys { | 
|  | compatible = "gpio-keys"; | 
|  | reg = <0 0>; | 
|  |  | 
|  | hu_button: HU-button { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_hu_button>; | 
|  | label = "HU Button"; | 
|  | linux,code = <KEY_ENTER>; | 
|  | gpio-key,wakeup; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | gpio-wakeups { | 
|  | compatible = "gpio-keys"; | 
|  | reg = <0 0>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_gpio_wakeup>; | 
|  |  | 
|  | ble_wakeup: ble-wakeup { | 
|  | label = "BLE Wakeup"; | 
|  | linux,code = <KEY_WAKEUP>; | 
|  | gpio-key,wakeup; | 
|  | }; | 
|  |  | 
|  | sensor_mcu_wakeup: sensor-mcu-wakeup { | 
|  | label = "Sensor MCU Wakeup"; | 
|  | linux,code = <KEY_WAKEUP>; | 
|  | gpio-key,wakeup; | 
|  | }; | 
|  |  | 
|  | }; | 
|  |  | 
|  | brcm_wlan: brcm-wlan { | 
|  | compatible = "brcm,bcmdhd_wlan"; | 
|  | reg = <0 0>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_brcm_wlan>; | 
|  | }; | 
|  |  | 
|  | ble-rfkill { | 
|  | compatible = "rfkill-gpio"; | 
|  | reg = <0 0>; | 
|  | rfkill-name = "BLE"; | 
|  | rfkill-type = <2>; | 
|  | reset-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; | 
|  | }; | 
|  |  | 
|  | wifi_gpios: brcm_wifi { | 
|  | compatible = "nestlabs,gpio-exporter"; | 
|  | reg = <0 0>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_wifi_gpios>; | 
|  | output-names = "reset"; | 
|  | }; | 
|  |  | 
|  | em35x_gpios: em35x-gpios { | 
|  | compatible = "nestlabs,gpio-exporter"; | 
|  | reg = <0 0>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_em35x_gpios>; | 
|  | output-names = "reset", "wake"; | 
|  | output-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>, | 
|  | <&gpio1 9 GPIO_ACTIVE_HIGH>; | 
|  | input-names = "irq"; | 
|  | input-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; | 
|  | }; | 
|  |  | 
|  | sensor_mcu_gpios: sensor-mcu-gpios { | 
|  | compatible = "nestlabs,gpio-exporter"; | 
|  | reg = <0 0>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_sensor_mcu_gpios>; | 
|  | }; | 
|  |  | 
|  | ble_gpios: ble-gpios { | 
|  | compatible = "nestlabs,gpio-exporter"; | 
|  | reg = <0 0>; | 
|  | }; | 
|  |  | 
|  | adc_ref: fixedregulator@0 { | 
|  | compatible = "regulator-fixed"; | 
|  | reg = <0 0>; | 
|  | regulator-name = "fixed-supply"; | 
|  | regulator-always-on; | 
|  | }; | 
|  |  | 
|  | battery: battery@0 { | 
|  | compatible = "adc-div-battery"; | 
|  | status = "okay"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /* Zigbee SPI */ | 
|  | &ecspi4 { | 
|  | fsl,spi-num-chipselects = <1>; | 
|  | cs-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_ecspi4_1>; | 
|  | status = "okay"; | 
|  |  | 
|  | spidev_em35x@0 { | 
|  | compatible = "silabs,em35x"; | 
|  | spi-max-frequency = <20000000>; | 
|  | reg = <0>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &gpc { | 
|  | fsl,cpu_pupscr_sw2iso = <0x1>; | 
|  | fsl,cpu_pupscr_sw = <0x0>; | 
|  | fsl,cpu_pdnscr_iso2sw = <0x1>; | 
|  | fsl,cpu_pdnscr_iso = <0x1>; | 
|  | fsl,ldo-bypass = <0>; /* DCDC, ldo-enable */ | 
|  | }; | 
|  |  | 
|  | /* PWM8 for Piezo */ | 
|  | &pwm8 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_pwm8_0>; | 
|  | clocks = <&clks IMX6UL_CLK_PWM8>, | 
|  | <&clks IMX6UL_CLK_PWM8>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* I2C2 */ | 
|  | &i2c2 { | 
|  | clock-frequency = <100000>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_i2c2_1>; | 
|  | status = "okay"; | 
|  | /* LM3530 (LED Driver) @ 0x63 */ | 
|  | backlight: lm3695@63 { | 
|  | compatible= "national,lm3695"; | 
|  | reg = <0x63>; | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_backlight>; | 
|  | max-brightness = <2047>; | 
|  | default-brightness = <1800>; | 
|  | single-string; | 
|  | boost-freq; | 
|  | high-voltage; | 
|  | ramp-rise-time = <2000>; | 
|  | ramp-fall-time = <2000>; | 
|  | fb-device = "mxsfb"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /*lcd driver spi */ | 
|  | &ecspi2 { | 
|  | pinctrl-0 = <&pinctrl_ecspi2_1>; | 
|  | pinctrl-names = "default"; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &lcdif { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_lcdif_dat_1 &pinctrl_lcdif_ctrl_1>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* Pinmux Controller */ | 
|  | &iomuxc { | 
|  | pinctrl-names = "default", "sleep"; | 
|  | pinctrl-0 = <&pinctrl_hog>, <&pinctrl_hog_extra>; | 
|  | pinctrl-1 = <&pinctrl_sleep_hog>; | 
|  |  | 
|  | i2c2 { | 
|  | pinctrl_i2c2_1: i2c2grp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_GPIO1_IO00__I2C2_SCL          PAD_CONFIG__I2C         /* I2C_AP_PIN_LCD_SCK */ | 
|  | MX6UL_PAD_GPIO1_IO01__I2C2_SDA          PAD_CONFIG__I2C         /* I2C_AP_PIN_LCD_SDA */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pwm8 { // Piezo pwm | 
|  | pinctrl_pwm8_0: pwm8grp-0 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_ENET1_RX_ER__PWM8_OUT         PAD_CONFIG__DEFAULT     /* PWM_PIEZO_DRIVE */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  |  | 
|  | uart3 { /* serial BLE */ | 
|  | pinctrl_uart3_1: uart3grp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX   PAD_CONFIG__DEFAULT     /* UART_AP_TO_BLE */ | 
|  | MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX   PAD_CONFIG__DEFAULT     /* UART_BLE_TO_AP */ | 
|  | MX6UL_PAD_UART3_RTS_B__UART3_DCE_RTS    PAD_CONFIG__DEFAULT     /* UART_FLOW_BLE_TO_AP */ | 
|  | MX6UL_PAD_UART3_CTS_B__UART3_DCE_CTS    PAD_CONFIG__DEFAULT     /* UART_FLOW_AP_TO_BLE */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | uart2 { //BP_UART | 
|  | pinctrl_uart2_1: uart2grp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX   PAD_CONFIG__DEFAULT     /* UART_MCU_TO_AP */ | 
|  | MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX   PAD_CONFIG__DEFAULT     /* UART_AP_TO_MCU */ | 
|  | MX6UL_PAD_UART2_CTS_B__UART2_DCE_CTS    PAD_CONFIG__DEFAULT     /* UART_FLOW_AP_TO_MCU */ | 
|  | MX6UL_PAD_UART2_RTS_B__UART2_DCE_RTS    PAD_CONFIG__DEFAULT     /* UART_FLOW_MCU_TO_AP */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | usdhc2 { /* WIFI SDIO */ | 
|  | pinctrl_usdhc2_1: usdhc2grp { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_CSI_VSYNC__USDHC2_CLK         PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_CLK */ | 
|  | MX6UL_PAD_CSI_HSYNC__USDHC2_CMD         PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_CMD */ | 
|  | MX6UL_PAD_CSI_DATA00__USDHC2_DATA0      PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_DATA0 */ | 
|  | MX6UL_PAD_CSI_DATA01__USDHC2_DATA1      PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_DATA1 */ | 
|  | MX6UL_PAD_CSI_DATA02__USDHC2_DATA2      PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_DATA2 */ | 
|  | MX6UL_PAD_CSI_DATA03__USDHC2_DATA3      PAD_CONFIG__DEFAULT     /* AP_SDIO_WIFI_DATA3 */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | lcdif1 { | 
|  | /* Set Hi-Z on all LCD data pins, as there are external pulls */ | 
|  | pinctrl_lcdif_dat_1: lcdifdatgrp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      PAD_CONFIG__DEFAULT     /* LCD_DATA0 */ | 
|  | MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      PAD_CONFIG__DEFAULT     /* LCD_DATA1 */ | 
|  | MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      PAD_CONFIG__DEFAULT     /* LCD_DATA2 */ | 
|  | MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      PAD_CONFIG__DEFAULT     /* LCD_DATA3 */ | 
|  | MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      PAD_CONFIG__DEFAULT     /* LCD_DATA4 */ | 
|  | MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      PAD_CONFIG__DEFAULT     /* LCD_DATA5 */ | 
|  | MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      PAD_CONFIG__DEFAULT     /* LCD_DATA6 */ | 
|  | MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      PAD_CONFIG__DEFAULT     /* LCD_DATA7 */ | 
|  | MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      PAD_CONFIG__DEFAULT     /* LCD_DATA8 */ | 
|  | MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      PAD_CONFIG__DEFAULT     /* LCD_DATA9 */ | 
|  | MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      PAD_CONFIG__DEFAULT     /* LCD_DATA10 */ | 
|  | MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      PAD_CONFIG__DEFAULT     /* LCD_DATA11 */ | 
|  | MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      PAD_CONFIG__DEFAULT     /* LCD_DATA12 */ | 
|  | MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      PAD_CONFIG__DEFAULT     /* LCD_DATA13 */ | 
|  | MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      PAD_CONFIG__DEFAULT     /* LCD_DATA14 */ | 
|  | MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      PAD_CONFIG__DEFAULT     /* LCD_DATA15 */ | 
|  | MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      PAD_CONFIG__DEFAULT     /* LCD_DATA16 */ | 
|  | MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      PAD_CONFIG__DEFAULT     /* LCD_DATA17 */ | 
|  | MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      PAD_CONFIG__DEFAULT     /* LCD_DATA18 */ | 
|  | MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      PAD_CONFIG__DEFAULT     /* LCD_DATA19 */ | 
|  | MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      PAD_CONFIG__DEFAULT     /* LCD_DATA20 */ | 
|  | MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      PAD_CONFIG__DEFAULT     /* LCD_DATA21 */ | 
|  | MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      PAD_CONFIG__DEFAULT     /* LCD_DATA22 */ | 
|  | MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      PAD_CONFIG__DEFAULT     /* LCD_DATA23 */ | 
|  | >; | 
|  | }; | 
|  |  | 
|  | /* Set weak pullups on all LCD control pins */ | 
|  | pinctrl_lcdif_ctrl_1: lcdifctrlgrp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_LCD_CLK__LCDIF_CLK            PAD_CONFIG__DEFAULT     /* LCD_CLK */ | 
|  | MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      PAD_CONFIG__DEFAULT     /* LCD_ENABLE */ | 
|  | MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        PAD_CONFIG__DEFAULT     /* LCD_VSYNC */ | 
|  | MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        PAD_CONFIG__DEFAULT     /* LCD_HSYNC */ | 
|  | MX6UL_PAD_LCD_RESET__GPIO3_IO04         PAD_CONFIG__GPIO        /* LCD_RESET */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | HU-button { | 
|  | pinctrl_hu_button: hu-button-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | gpio-wakeup { | 
|  | pinctrl_gpio_wakeup: gpio-wakeup-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | brcm-wlan { | 
|  | pinctrl_brcm_wlan: brcm-wlan-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | wifi-gpios { | 
|  | pinctrl_wifi_gpios: wifi-gpios-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | sensor-mcu-gpios { | 
|  | pinctrl_sensor_mcu_gpios: sensor-mcu-gpios-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | backlight { | 
|  | pinctrl_backlight: backlight-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  | }; | 
|  |  | 
|  | hog { | 
|  | pinctrl_hog: hoggrp { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     PAD_CONFIG__GPIO        /* SPI2_LCD_CS_L*/ | 
|  | MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15       PAD_CONFIG__GPIO        /* SPI_6LO_CS */ | 
|  | MX6UL_PAD_ENET1_RX_DATA1__GPIO2_IO01    PAD_CONFIG__GPIO        /* BLE_RST_L */ | 
|  | MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    PAD_CONFIG__GPIO        /* SAMPLE_VBAT_AP */ | 
|  | MX6UL_PAD_ENET1_TX_CLK__GPIO2_IO06      PAD_CONFIG__GPIO        /* PIEZO_EN_L */ | 
|  | MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11    PAD_CONFIG__GPIO_PU_22K /* INT_AP_TO_BLE */ | 
|  | >; | 
|  | }; | 
|  |  | 
|  | pinctrl_hog_extra: hog-extra-grp { | 
|  | /* Board Specific */ | 
|  | }; | 
|  |  | 
|  | pinctrl_sleep_hog: hog-sleep-grp { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11    PAD_CONFIG__GPIO_PD_100K /* INT_AP_TO_BLE */ | 
|  | >; | 
|  | }; | 
|  |  | 
|  | }; | 
|  |  | 
|  | ecspi2 { /*LCD SPI*/ | 
|  | pinctrl_ecspi2_1: ecspi2grp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO    PAD_CONFIG__DEFAULT     /* SPI_AP_LCD_MISO */ | 
|  | MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI    PAD_CONFIG__DEFAULT     /* SPI_AP_LCD_MOSI */ | 
|  | MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK    PAD_CONFIG__DEFAULT     /* SPI_AP_LCD_CLK */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  | ecspi4 { /*6lowpan SPI*/ | 
|  | pinctrl_ecspi4_1: ecspi4grp-1 { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO     PAD_CONFIG__DEFAULT     /* SPI_6LO_MISO */ | 
|  | MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI      PAD_CONFIG__DEFAULT     /* SPI_6LO_MOSI */ | 
|  | MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK   PAD_CONFIG__DEFAULT     /* SPI_6LO_SCLK */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | em35x-gpios { | 
|  | pinctrl_em35x_gpios: em35x-gpios-grp { | 
|  | fsl,pins = < | 
|  | MX6UL_PAD_GPIO1_IO07__GPIO1_IO07        PAD_CONFIG__GPIO        /* 6LO_RESET_L */ | 
|  | MX6UL_PAD_GPIO1_IO06__GPIO1_IO06        PAD_CONFIG__GPIO        /* INT_6LO_TO_AP */ | 
|  | MX6UL_PAD_GPIO1_IO09__GPIO1_IO09        PAD_CONFIG__GPIO        /* INT_AP_TO_6LO */ | 
|  | >; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | /* Bluetooth UART */ | 
|  | &uart3 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_uart3_1>; | 
|  | fsl,uart-has-rtscts; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* BP UART */ | 
|  | &uart2 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_uart2_1>; | 
|  | fsl,uart-has-rtscts; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* Debug USB (Device) */ | 
|  | &usbotg1 { | 
|  | pinctrl-names = "default"; | 
|  | dr_mode = "peripheral"; | 
|  | imx-usb-charger-detection; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* WIFI SDIO */ | 
|  | &usdhc2 { | 
|  | pinctrl-names = "default"; | 
|  | pinctrl-0 = <&pinctrl_usdhc2_1>; | 
|  | non-removable; | 
|  | keep-power-in-suspend; | 
|  | enable-sdio-wakeup; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | /* GPMI NAND */ | 
|  | &gpmi { | 
|  | status = "okay"; | 
|  | nand-on-flash-bbt; /* Need to reserve NAND_BBT_SCAN_MAXBLOCKS at end of NAND */ | 
|  |  | 
|  | partition@0-a { | 
|  | label = "nand0"; | 
|  | reg = <0x0 0x20000000>; | 
|  | }; | 
|  |  | 
|  | partition@0-b { | 
|  | label = "u-boot"; | 
|  | reg = <0x0 0x00400000>; | 
|  | }; | 
|  | partition@00400000 { | 
|  | label = "ubipart"; | 
|  | reg = <0x00400000 0x1F400000>; | 
|  | }; | 
|  |  | 
|  | partition@1F800000 { | 
|  | label = "oopsdata"; | 
|  | reg = <0x1F800000 0x780000>; | 
|  | }; | 
|  | }; | 
|  |  |