2016-07-04 3 views
1

Любые может помочь понять, что код ниже означаетОбъявление идентификатора i2c в дереве устройств?

особенно 0x80000000 важный из этого значения в ниже устройство узла дерева

i2c-gpio-1 { 
     pinctrl_smx6_i2c_gpio_1: i2c-gpio-1grp-smx6 { 
      fsl,pins = < 
       /* SCL GPIO */ 
       MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x80000000 
       /* SDA GPIO */ 
       MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x80000000 
      >; 
     }; 
    }; 
+1

Укажите, какой процессор использует ваша плата, это позволит обратиться к документации по привязке к дереву устройств. – Longfield

+0

Я использую плату kontron smarc-samx6i и использую процессор NXP imx6q Этот узел дерева устройств принадлежит yocto. –

ответ

3

Это устройство узел дерева определяет конфигурацию pinmux для двух сигналов imx6q процессор на плате, который будет использоваться в качестве GPIO (для бит-бит контроллера i2c).

Соответствующий файл документация: fsl,imx-pinctrl.txt

Особенно, эта часть имеет отношение здесь:

Требуемые свойства для узла конфигурации контактов:

  • FSL, булавки: каждая запись состоит из 6 целых чисел и представляет настройку мультиплексора и конфигурации для одного вывода. Первые 5 целых чисел задаются с использованием макроса PIN_FUNC_ID, , который можно найти в imx * -pinfunc.h в исходной папке дерева устройств. Последнее целое число CONFIG - это значение настройки пэда, например, подтягивание на этом . И вот почему запись fsl, контакты выглядит как в примере .

Биты, используемые для CONFIG: NO_PAD_CTL (1 < < 31): указывают на этот вывод не нужен конфигурации.

Два PIN_FUNC_ID макросы

MX6QDL_PAD_GPIO_6__GPIO1_IO06, MX6QDL_PAD_KEY_COL2__GPIO4_IO10

непосредственно взяты из этого файла: imx6q-pinfunc.h

Значение 0x80000000 рядом с этими макросами в NO_PAD_CTL (1 < < 31) макрос сверху. Это означает, что контакты не сконфигурированы с возможностями пинмма, подробно описанными там: fsl,imx6q-pinctrl.txt

Смежные вопросы