2015-11-03 4 views
0

Я пытаюсь использовать LCD7 cape с Serial cape, но UART4 имеет конфликтующие контакты. Я не использую UART4, поэтому я отключил его, удалив конфигурацию из файла dts, сохранил файл под именем в/lib/firmware. Составление было сделано на CMD линии, как:BBB не может загрузить измененный файл dts

Dtc -O DTB -o накидка-CBB-Serial-r02.dtbo -b 0 - @ Cape-CBB-Serial-r02.dts

Загрузка накидки с: эхом накидки-CBB-Serial: R02> слоты

вопросов:

по какой-то причине, даже после отключения накидки он все еще показывает в слотах:

[email protected]:/lib/firmware# cat /sys/devices/bone_capemgr.9/slots 
0: 54:PF--- 1: 55:P---- cape-CBB-Serial,r01,Logic Supply,cape-CBB-Serial 
2: 56:PF--- 3: 57:PF--- 
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G 
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI 

Содержание /boot/uEnv.txt:

cat /boot/uEnv.txt 
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0 

uname_r=3.8.13-bone70 
#dtb= cmdline=quiet init=/lib/systemd/systemd 

##Example 
#cape_disable=capemgr.disable_partno= 
#cape_enable=capemgr.enable_partno= 

##Disable HDMI/eMMC 
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G 

##Disable HDMI cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN 

##Disable eMMC 
#cape_disable=capemgr.disable_partno=BB-BONE-EMMC-2G 

##Audio Cape (needs HDMI Audio disabled) 
#cape_disable=capemgr.disable_partno=BB-BONELT-HDMI 
#cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02 


##enable BBB: eMMC Flasher: 
##make sure, these tools are installed: dosfstools rsync 
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 


cape_disable=capemgr.disable_partno=cape-CBB-Serial 

Моя версия не DTS загружается:

/* cape-CBB-Serial-r01.dts 
* Written by Alexander Hiam <[email protected]> 
* for Logic Supply - http://logicsupply.com 
* Jan 28, 2014 
* 
* This is the Device Tree overlay for the CBB-Serial BeagleBone and 
* BeagleBone Black cape. It will enable the UART2, UART4 and DCAN1 
* interfaces, as well as mux GPIO1_16 for userspace control for 
* using software control of the RS485 receiver/driver enable. 
* 
* Note: the BeagleBone Black has GPIO1_16 tied to GPIO2_0 (which 
* is not exposed on the header), so this overlay muxes and controls 
* both pins. 
* 
* Copyright (c) 2014 - Logic Supply (http://logicsupply.com) 
* 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/; 
/plugin/; 

/{ 
    compatible = "ti,beaglebone", "ti,beaglebone-black"; 

    part-number = "cape-CBB-Serial"; 
    version = "r02"; 

    /* state the resources this cape uses */ 
    exclusive-use = 
    "P9.21", /* uart2_txd */ 
    "P9.22", /* uart2_rxd */ 

    "P9.24", /* dcan1_rx */ 
    "P9.26", /* dcan1_tx */ 

    /* the hardware IP uses */ 
    "gpio1_16", 
    "gpio2_0", 
    "uart2", 
    "uart4", 
    "dcan1"; 

    [email protected] { 
    target = <&am33xx_pinmux>; 
    __overlay__ { 

     cbb_serial_uart2_pins: pinmux_cbb_serial_uart2_pins { 
     pinctrl-single,pins = < 
      0x150 0x21 /* spi0_sclk - RX_ENABLED | MODE6 (UART2 RX) */ 
      0x154 0x01 /* spi0_d0 - MODE6 (UART2 TX) */ 
     >; 
     }; 

    cbb_serial_dcan1_pins: pinmux_cbb_serial_dcan1_pins { 
     pinctrl-single,pins = < 
      0x180 0x12 /* uart1_rxd - PULLUP | MODE2 (DCAN TX) */ 
      0x184 0x32 /* uart1_txd - RX_ENABLED | PULLUP | MODE2 (DCAN1 RX) */ 
     >; 
     }; 
    }; 
    }; 

    [email protected] { 
    target = <&uart3>; 
    __overlay__ { 
     status = "okay"; 
     pinctrl-names = "default"; 
     pinctrl-0 = <&cbb_serial_uart2_pins>; 
    }; 
    }; 


    [email protected] { 
    target = <&dcan1>; 
    __overlay__ { 
     status = "okay"; 
     pinctrl-names = "default"; 
     pinctrl-0 = <&cbb_serial_dcan1_pins>; 
    }; 
    }; 
}; 

Как-то серийный накидка получает автомагически загружен откуда-то? :(

ответ

1

Обратите внимание, что в CBB-Serial нет флага L - это означает, что он не загружен. Он все еще отображается в файле слотов, так как capemgr видит планету EEPROM. Вы все равно сможете вручную загрузить свою версия. Что вывод $ dmesg | tail -n 100 после попытки загрузить версию?

Кроме того, в то время как вы удалили фрагмент UART4, вы до сих пор uart4 перечисленных в exclusive-use массиве, который где capemgr выглядит для обнаружения конфликтов. вы хотите чтобы удалить это, и вы также должны отрегулировать нумерацию фрагментов, чтобы они последовательно увеличивались (не уверены, действительно ли это имеет значение):

/dts-v1/; 
/plugin/; 

/{ 
    compatible = "ti,beaglebone", "ti,beaglebone-black"; 

    part-number = "cape-CBB-Serial"; 
    version = "r02"; 

    /* state the resources this cape uses */ 
    exclusive-use = 
    "P9.21", /* uart2_txd */ 
    "P9.22", /* uart2_rxd */ 

    "P9.24", /* dcan1_rx */ 
    "P9.26", /* dcan1_tx */ 

    /* the hardware IP uses */ 
    "gpio1_16", 
    "gpio2_0", 
    "uart2", 
    "dcan1"; 

    [email protected] { 
    target = <&am33xx_pinmux>; 
    __overlay__ { 

     cbb_serial_uart2_pins: pinmux_cbb_serial_uart2_pins { 
     pinctrl-single,pins = < 
      0x150 0x21 /* spi0_sclk - RX_ENABLED | MODE6 (UART2 RX) */ 
      0x154 0x01 /* spi0_d0 - MODE6 (UART2 TX) */ 
     >; 
     }; 

    cbb_serial_dcan1_pins: pinmux_cbb_serial_dcan1_pins { 
     pinctrl-single,pins = < 
      0x180 0x12 /* uart1_rxd - PULLUP | MODE2 (DCAN TX) */ 
      0x184 0x32 /* uart1_txd - RX_ENABLED | PULLUP | MODE2 (DCAN1 RX) */ 
     >; 
     }; 
    }; 
    }; 

    [email protected] { 
    target = <&uart3>; 
    __overlay__ { 
     status = "okay"; 
     pinctrl-names = "default"; 
     pinctrl-0 = <&cbb_serial_uart2_pins>; 
    }; 
    }; 

    [email protected] { 
    target = <&dcan1>; 
    __overlay__ { 
     status = "okay"; 
     pinctrl-names = "default"; 
     pinctrl-0 = <&cbb_serial_dcan1_pins>; 
    }; 
    }; 
}; 
Смежные вопросы