Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
0002 /*
0003  * Copyright 2018-2022 TQ-Systems GmbH
0004  * Author: Markus Niebel <Markus.Niebel@tq-group.com>
0005  */
0006 
0007 / {
0008         model = "TQ-Systems MBA6ULx Baseboard";
0009 
0010         aliases {
0011                 mmc0 = &usdhc2;
0012                 mmc1 = &usdhc1;
0013                 rtc0 = &rtc0;
0014                 rtc1 = &snvs_rtc;
0015         };
0016 
0017         chosen {
0018                 stdout-path = &uart1;
0019         };
0020 
0021         backlight: backlight {
0022                 compatible = "pwm-backlight";
0023                 power-supply = <&reg_mba6ul_3v3>;
0024                 enable-gpios = <&expander_out0 4 GPIO_ACTIVE_HIGH>;
0025                 status = "disabled";
0026         };
0027 
0028         beeper: beeper {
0029                 compatible = "gpio-beeper";
0030                 gpios = <&expander_out1 6 GPIO_ACTIVE_HIGH>;
0031         };
0032 
0033         gpio_buttons: gpio-keys {
0034                 compatible = "gpio-keys";
0035                 pinctrl-names = "default";
0036                 pinctrl-0 = <&pinctrl_buttons>;
0037 
0038                 button1 {
0039                         label = "s14";
0040                         linux,code = <KEY_1>;
0041                         gpios = <&expander_in0 0 GPIO_ACTIVE_LOW>;
0042                 };
0043 
0044                 button2 {
0045                         label = "s6";
0046                         linux,code = <KEY_2>;
0047                         gpios = <&expander_in0 1 GPIO_ACTIVE_LOW>;
0048                 };
0049 
0050                 button3 {
0051                         label = "s7";
0052                         linux,code = <KEY_3>;
0053                         gpios = <&expander_in0 2 GPIO_ACTIVE_LOW>;
0054                 };
0055 
0056                 power-button {
0057                         label = "POWER";
0058                         linux,code = <KEY_POWER>;
0059                         gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
0060                         gpio-key,wakeup;
0061                 };
0062         };
0063 
0064         gpio-leds {
0065                 compatible = "gpio-leds";
0066                 status = "okay";
0067 
0068                 led1 {
0069                         label = "led1";
0070                         gpios = <&expander_out1 4 GPIO_ACTIVE_HIGH>;
0071                         linux,default-trigger = "default-on";
0072                 };
0073 
0074                 led2 {
0075                         label = "led2";
0076                         gpios = <&expander_out1 5 GPIO_ACTIVE_HIGH>;
0077                         linux,default-trigger = "heartbeat";
0078                 };
0079         };
0080 
0081         reg_lcd_pwr: regulator-lcd-pwr {
0082                 compatible = "regulator-fixed";
0083                 regulator-name = "lcd-pwr";
0084                 gpio = <&expander_out0 1 GPIO_ACTIVE_HIGH>;
0085                 enable-active-high;
0086                 status = "disabled";
0087         };
0088 
0089         reg_mba6ul_3v3: regulator-mba6ul-3v3 {
0090                 compatible = "regulator-fixed";
0091                 regulator-name = "supply-mba6ul-3v3";
0092                 regulator-min-microvolt = <3300000>;
0093                 regulator-max-microvolt = <3300000>;
0094                 regulator-always-on;
0095         };
0096 
0097         reg_mba6ul_5v0: regulator-mba6ul-5v0 {
0098                 compatible = "regulator-fixed";
0099                 regulator-name = "supply-mba6ul-5v0";
0100                 regulator-min-microvolt = <5000000>;
0101                 regulator-max-microvolt = <5000000>;
0102                 regulator-always-on;
0103         };
0104 
0105         reg_mpcie: regulator-mpcie-3v3 {
0106                 compatible = "regulator-fixed";
0107                 regulator-name = "mpcie-3v3";
0108                 regulator-min-microvolt = <3300000>;
0109                 regulator-max-microvolt = <3300000>;
0110                 gpio = <&expander_out0 2 GPIO_ACTIVE_HIGH>;
0111                 enable-active-high;
0112                 regulator-always-on;
0113                 startup-delay-us = <500000>;
0114                 vin-supply = <&reg_mba6ul_3v3>;
0115         };
0116 
0117         reg_otg2vbus_5v0: regulator-otg2-vbus-5v0 {
0118                 compatible = "regulator-fixed";
0119                 gpio = <&expander_out1 0 GPIO_ACTIVE_HIGH>;
0120                 enable-active-high;
0121                 regulator-name = "otg2-vbus-supply-5v0";
0122                 regulator-min-microvolt = <5000000>;
0123                 regulator-max-microvolt = <5000000>;
0124                 vin-supply = <&reg_mpcie>;
0125         };
0126 
0127         reserved-memory {
0128                 #address-cells = <1>;
0129                 #size-cells = <1>;
0130                 ranges;
0131 
0132                 linux,cma {
0133                         compatible = "shared-dma-pool";
0134                         reusable;
0135                         size = <0x6000000>;
0136                         linux,cma-default;
0137                 };
0138         };
0139 
0140         sound {
0141                 compatible = "fsl,imx-audio-tlv320aic32x4";
0142                 model = "imx-audio-tlv320aic32x4";
0143                 ssi-controller = <&sai1>;
0144                 audio-codec = <&tlv320aic32x4>;
0145                 audio-asrc = <&asrc>;
0146         };
0147 };
0148 
0149 &can1 {
0150         pinctrl-names = "default";
0151         pinctrl-0 = <&pinctrl_flexcan1>;
0152         xceiver-supply = <&reg_mba6ul_3v3>;
0153         status = "okay";
0154 };
0155 
0156 &can2 {
0157         pinctrl-names = "default";
0158         pinctrl-0 = <&pinctrl_flexcan2>;
0159         xceiver-supply = <&reg_mba6ul_3v3>;
0160         status = "okay";
0161 };
0162 
0163 &clks {
0164         assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
0165         assigned-clock-rates = <768000000>;
0166 };
0167 
0168 &ecspi2 {
0169         pinctrl-names = "default";
0170         pinctrl-0 = <&pinctrl_ecspi2>;
0171         num-cs = <1>;
0172         status = "okay";
0173 };
0174 
0175 &fec1 {
0176         pinctrl-names = "default";
0177         pinctrl-0 = <&pinctrl_enet1>;
0178         phy-mode = "rmii";
0179         phy-handle = <&ethphy0>;
0180         phy-supply = <&reg_mba6ul_3v3>;
0181         phy-reset-gpios = <&expander_out1 1 GPIO_ACTIVE_LOW>;
0182         phy-reset-duration = <25>;
0183         phy-reset-post-delay = <1>;
0184         status = "okay";
0185 };
0186 
0187 &fec2 {
0188         pinctrl-names = "default";
0189         pinctrl-0 = <&pinctrl_enet2>, <&pinctrl_enet2_mdc>;
0190         phy-mode = "rmii";
0191         phy-handle = <&ethphy1>;
0192         phy-supply = <&reg_mba6ul_3v3>;
0193         phy-reset-gpios = <&expander_out1 2 GPIO_ACTIVE_LOW>;
0194         phy-reset-duration = <25>;
0195         phy-reset-post-delay = <1>;
0196         status = "okay";
0197 
0198         mdio {
0199                 #address-cells = <1>;
0200                 #size-cells = <0>;
0201 
0202                 ethphy0: ethernet-phy@0 {
0203                         compatible = "ethernet-phy-ieee802.3-c22";
0204                         clocks = <&clks IMX6UL_CLK_ENET_REF>;
0205                         reg = <0>;
0206                         max-speed = <100>;
0207                 };
0208 
0209                 ethphy1: ethernet-phy@1 {
0210                         compatible = "ethernet-phy-ieee802.3-c22";
0211                         clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
0212                         reg = <1>;
0213                         max-speed = <100>;
0214                 };
0215         };
0216 };
0217 
0218 &i2c4 {
0219         tlv320aic32x4: audio-codec@18 {
0220                 compatible = "ti,tlv320aic32x4";
0221                 reg = <0x18>;
0222                 clocks = <&clks IMX6UL_CLK_SAI1>;
0223                 clock-names = "mclk";
0224                 ldoin-supply = <&reg_mba6ul_3v3>;
0225                 iov-supply = <&reg_mba6ul_3v3>;
0226         };
0227 
0228         jc42: temperature-sensor@19 {
0229                 compatible = "nxp,se97", "jedec,jc-42.4-temp";
0230                 reg = <0x19>;
0231         };
0232 
0233         expander_out0: gpio-expander@20 {
0234                 compatible = "nxp,pca9554";
0235                 reg = <0x20>;
0236                 gpio-controller;
0237                 #gpio-cells = <2>;
0238         };
0239 
0240         expander_in0: gpio-expander@21 {
0241                 compatible = "nxp,pca9554";
0242                 reg = <0x21>;
0243                 pinctrl-names = "default";
0244                 pinctrl-0 = <&pinctrl_expander_in0>;
0245                 interrupt-parent = <&gpio4>;
0246                 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
0247                 interrupt-controller;
0248                 #interrupt-cells = <2>;
0249                 gpio-controller;
0250                 #gpio-cells = <2>;
0251 
0252                 enet1_int-hog {
0253                         gpio-hog;
0254                         gpios = <6 0>;
0255                         input;
0256                 };
0257 
0258                 enet2_int-hog {
0259                         gpio-hog;
0260                         gpios = <7 0>;
0261                         input;
0262                 };
0263         };
0264 
0265         expander_out1: gpio-expander@22 {
0266                 compatible = "nxp,pca9554";
0267                 reg = <0x22>;
0268                 gpio-controller;
0269                 #gpio-cells = <2>;
0270         };
0271 
0272         analog_touch: touchscreen@41 {
0273                 compatible = "st,stmpe811";
0274                 reg = <0x41>;
0275                 interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
0276                 interrupt-parent = <&gpio4>;
0277                 interrupt-controller;
0278                 status = "disabled";
0279 
0280                 stmpe_touchscreen {
0281                         compatible = "st,stmpe-ts";
0282                         st,adc-freq = <1>;      /* 3.25 MHz ADC clock speed */
0283                         st,ave-ctrl = <3>;      /* 8 sample average control */
0284                         st,fraction-z = <7>;    /* 7 length fractional part in z */
0285                         /*
0286                          * 50 mA typical 80 mA max touchscreen drivers
0287                          * current limit value
0288                          */
0289                         st,i-drive = <1>;
0290                         st,mod-12b = <1>;       /* 12-bit ADC */
0291                         st,ref-sel = <0>;       /* internal ADC reference */
0292                         st,sample-time = <4>;   /* ADC converstion time: 80 clocks */
0293                         st,settling = <3>;      /* 1 ms panel driver settling time */
0294                         st,touch-det-delay = <5>; /* 5 ms touch detect interrupt delay */
0295                 };
0296         };
0297 
0298         /* NXP SE97BTP with temperature sensor + eeprom */
0299         se97b: eeprom@51 {
0300                 compatible = "nxp,se97b", "atmel,24c02";
0301                 reg = <0x51>;
0302                 pagesize = <16>;
0303         };
0304 };
0305 
0306 &pwm2 {
0307         pinctrl-names = "default";
0308         pinctrl-0 = <&pinctrl_pwm2>;
0309         status = "okay";
0310 };
0311 
0312 &sai1 {
0313         pinctrl-names = "default";
0314         pinctrl-0 = <&pinctrl_sai1>;
0315         assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,
0316                           <&clks IMX6UL_CLK_SAI1>;
0317         assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
0318         assigned-clock-rates = <0>, <24000000>;
0319         fsl,sai-mclk-direction-output;
0320         status = "okay";
0321 };
0322 
0323 &uart1 {
0324         pinctrl-names = "default";
0325         pinctrl-0 = <&pinctrl_uart1>;
0326         status = "okay";
0327 };
0328 
0329 &uart3 {
0330         pinctrl-names = "default";
0331         pinctrl-0 = <&pinctrl_uart3>;
0332         status = "okay";
0333 };
0334 
0335 &uart6 {
0336         pinctrl-names = "default";
0337         pinctrl-0 = <&pinctrl_uart6>;
0338         /* for DTE mode, add below change */
0339         /* fsl,dte-mode; */
0340         /* pinctrl-0 = <&pinctrl_uart6dte>; */
0341         uart-has-rtscts;
0342         linux,rs485-enabled-at-boot-time;
0343         rs485-rts-active-low;
0344         rs485-rx-during-tx;
0345         status = "okay";
0346 };
0347 
0348 /* otg-port */
0349 &usbotg1 {
0350         pinctrl-names = "default";
0351         pinctrl-0 = <&pinctrl_usb_otg1>;
0352         power-active-high;
0353         over-current-active-low;
0354         /* we implement only dual role but not a fully featured OTG */
0355         hnp-disable;
0356         srp-disable;
0357         adp-disable;
0358         dr_mode = "otg";
0359         status = "okay";
0360 };
0361 
0362 /* 7-port usb hub */
0363 /* id, pwr, oc pins not connected */
0364 &usbotg2 {
0365         disable-over-current;
0366         vbus-supply = <&reg_otg2vbus_5v0>;
0367         dr_mode = "host";
0368         status = "okay";
0369 };
0370 
0371 &usdhc1 {
0372         pinctrl-names = "default";
0373         pinctrl-0 = <&pinctrl_usdhc1>;
0374         cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
0375         wp-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
0376         bus-width = <4>;
0377         vmmc-supply = <&reg_mba6ul_3v3>;
0378         vqmmc-supply = <&reg_vccsd>;
0379         no-1-8-v;
0380         no-mmc;
0381         no-sdio;
0382         status = "okay";
0383 };
0384 
0385 &wdog1 {
0386         pinctrl-names = "default";
0387         pinctrl-0 = <&pinctrl_wdog1>;
0388         fsl,ext-reset-output;
0389         status = "okay";
0390 };
0391 
0392 &iomuxc {
0393         pinctrl_buttons: buttonsgrp {
0394                 fsl,pins = <
0395                         MX6UL_PAD_GPIO1_IO03__GPIO1_IO03        0x100b0
0396                 >;
0397         };
0398 
0399         pinctrl_ecspi2: ecspi2grp {
0400                 fsl,pins = <
0401                         MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK    0x1b020
0402                         MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO    0x1b020
0403                         MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI    0x1b020
0404                         MX6UL_PAD_UART4_RX_DATA__ECSPI2_SS0     0x1b020
0405                 >;
0406         };
0407 
0408         pinctrl_enet1: enet1grp {
0409                 fsl,pins = <
0410                         MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN      0x1b0b0
0411                         MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER      0x1b0b0
0412                         MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
0413                         MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
0414                         MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
0415                         MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
0416                         MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN      0x1b0b0
0417                         MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x4001b0a8
0418                 >;
0419         };
0420 
0421         pinctrl_enet2: enet2grp {
0422                 fsl,pins = <
0423                         MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x1b0b0
0424                         MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x1b0b0
0425                         MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
0426                         MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
0427                         MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0a0
0428                         MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0a0
0429                         MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x1b0b0
0430                         MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x4001b0a8
0431                 >;
0432         };
0433 
0434         pinctrl_enet2_mdc: enet2mdcgrp {
0435                 fsl,pins = <
0436                         /* mdio */
0437                         MX6UL_PAD_GPIO1_IO07__ENET2_MDC         0x1b0b0
0438                         MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
0439                 >;
0440         };
0441 
0442         pinctrl_expander_in0: expanderin0grp {
0443                 fsl,pins = <
0444                         MX6UL_PAD_CSI_DATA02__GPIO4_IO23        0x1b0b1
0445                 >;
0446         };
0447 
0448         pinctrl_flexcan1: flexcan1grp {
0449                 fsl,pins = <
0450                         MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX      0x1b020
0451                         MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX      0x1b020
0452                 >;
0453         };
0454 
0455         pinctrl_flexcan2: flexcan2grp {
0456                 fsl,pins = <
0457                         MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX      0x1b020
0458                         MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX      0x1b020
0459                 >;
0460         };
0461 
0462         pinctrl_pwm2: pwm2grp {
0463                 fsl,pins = <
0464                         /* 100 k PD, DSE 120 OHM, SPPEED LO */
0465                         MX6UL_PAD_GPIO1_IO09__PWM2_OUT          0x00003050
0466                 >;
0467         };
0468 
0469         pinctrl_sai1: sai1grp {
0470                 fsl,pins = <
0471                         MX6UL_PAD_CSI_DATA05__SAI1_TX_BCLK      0x1b0b1
0472                         MX6UL_PAD_CSI_DATA04__SAI1_TX_SYNC      0x1b0b1
0473                         MX6UL_PAD_CSI_DATA07__SAI1_TX_DATA      0x1f0b8
0474                         MX6UL_PAD_CSI_DATA06__SAI1_RX_DATA      0x110b0
0475                         MX6UL_PAD_CSI_DATA01__SAI1_MCLK         0x1b0b1
0476                 >;
0477         };
0478 
0479         pinctrl_uart1: uart1grp {
0480                 fsl,pins = <
0481                         MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX   0x1b0b1
0482                         MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX   0x1b0b1
0483                 >;
0484         };
0485 
0486         pinctrl_uart3: uart3grp {
0487                 fsl,pins = <
0488                         MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX   0x1b0b1
0489                         MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX   0x1b0b1
0490                 >;
0491         };
0492 
0493         pinctrl_uart6: uart6grp {
0494                 fsl,pins = <
0495                         MX6UL_PAD_CSI_MCLK__UART6_DCE_TX        0x1b0b1
0496                         MX6UL_PAD_CSI_PIXCLK__UART6_DCE_RX      0x1b0b1
0497                         MX6UL_PAD_CSI_VSYNC__UART6_DCE_RTS      0x1b0b1
0498                         MX6UL_PAD_CSI_HSYNC__UART6_DCE_CTS      0x1b0b1
0499                 >;
0500         };
0501 
0502         pinctrl_uart6dte: uart6dte {
0503                 fsl,pins = <
0504                         MX6UL_PAD_CSI_PIXCLK__UART6_DTE_TX      0x1b0b1
0505                         MX6UL_PAD_CSI_MCLK__UART6_DTE_RX        0x1b0b1
0506                         MX6UL_PAD_CSI_HSYNC__UART6_DTE_RTS      0x1b0b1
0507                         MX6UL_PAD_CSI_VSYNC__UART6_DTE_CTS      0x1b0b1
0508                 >;
0509         };
0510 
0511         pinctrl_usb_otg1: usbotg1grp {
0512                 fsl,pins = <
0513                         MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID    0x00017059
0514                         MX6UL_PAD_GPIO1_IO01__USB_OTG1_OC       0x0001b0b0
0515                         MX6UL_PAD_GPIO1_IO04__USB_OTG1_PWR      0x0001b099
0516                 >;
0517         };
0518 
0519         pinctrl_usdhc1: usdhc1grp {
0520                 fsl,pins = <
0521                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x00017069
0522                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x00017059
0523                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x00017059
0524                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x00017059
0525                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x00017059
0526                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x00017059
0527                         /* WP */
0528                         MX6UL_PAD_UART1_CTS_B__GPIO1_IO18       0x0001b099
0529                         /* CD */
0530                         MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x0001b099
0531                 >;
0532         };
0533 
0534         pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
0535                 fsl,pins = <
0536                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x00017069
0537                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x000170b9
0538                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x000170b9
0539                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x000170b9
0540                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x000170b9
0541                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x000170b9
0542                         /* WP */
0543                         MX6UL_PAD_UART1_CTS_B__GPIO1_IO18       0x0001b099
0544                         /* CD */
0545                         MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x0001b099
0546                 >;
0547         };
0548 
0549         pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
0550                 fsl,pins = <
0551                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x00017069
0552                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x000170f9
0553                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x000170f9
0554                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x000170f9
0555                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x000170f9
0556                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x000170f9
0557                         /* WP */
0558                         MX6UL_PAD_UART1_CTS_B__GPIO1_IO18       0x0001b099
0559                         /* CD */
0560                         MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x0001b099
0561                 >;
0562         };
0563 
0564         pinctrl_wdog1: wdog1grp {
0565                 fsl,pins = <
0566                         MX6UL_PAD_GPIO1_IO08__WDOG1_WDOG_B      0x0001b099
0567                 >;
0568         };
0569 };