Picproje Elektronik Sitesi

BİLGİSAYAR => Linux => Konuyu başlatan: yamak - 08 Temmuz 2013, 14:52:37

Başlık: BeagleBone Black'te PinMux Olayı
Gönderen: yamak - 08 Temmuz 2013, 14:52:37
Beaglebone black linux 3.8 ile geliyo.3.8'de de pinmux olayı baya bi farklı heralde.Device Tree diye bişey ile pinleri muxlayabiliyoruz anladığım kadarıyla. Bu device tree nin mantığı nedir anlatabilecek olan var mı?Mesela P9.11 ve P9.13 pinleri uart pini olarak ayarlamak için aşağıdaki gibi bi kodlar yazılıp derlenmiş.
/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.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";

    /* identification */
    part-number = "uart5";

    fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
            pinctrl_uart5: pinctrl_uart5_pins {
                pinctrl-single,pins = <    
                        0x070 0x26  /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */
                        0x074 0x06  /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */
                >;
            };
        };
    };

fragment@1{
target = <&uart5>;
__overlay__ {
status = "okay";
};
};

    fragment@2 {
        target = <&ocp>;
        __overlay__ {
            test_helper: helper {
                compatible = "bone-pinmux-helper";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_uart5>;
                status = "okay";
            };
        };
    };
};

Bu kodların mantığı nedir?
Başlık: Ynt: BeagleBone Black'te PinMux Olayı
Gönderen: yamak - 09 Temmuz 2013, 16:01:54
Bu konu hakkında bi fikri olan yok mu?Bu device tree olayı ne oluyo.Mantığı nedir?
Başlık: Ynt: BeagleBone Black'te PinMux Olayı
Gönderen: donetello41 - 20 Şubat 2018, 03:50:21
pinMux hakkında yardımcı alabilirmisin?
Başlık: Ynt: BeagleBone Black'te PinMux Olayı
Gönderen: Firzen - 20 Şubat 2018, 19:03:05
https://320volt.com/beaglebone-baslangic-kilavuzu/
Başlık: Ynt: BeagleBone Black'te PinMux Olayı
Gönderen: OptimusPrime - 25 Mart 2018, 05:46:48
konu 5 sene once acilmis 1 ay once de hortlamis bende yine hortlamak birseyler atip tutmak istedim sadece. maksat bilgi bu baslik altinda baskalarina da ulassin.

device tree ile ilgili bilgiyi asagida bulabilirsin
https://events.static.linuxfound.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf

kabaca device tree linux cekirdegine hangi donanimi nasil kullanacagini, nerede oldugunu, hangi kesmeleri kullandigini, hangi pine bagli oldugunu vs vs anlatan ozel formatli bir dosya bicimi. kernel versiyonuna gore formati degisebilir veya bu isin ehli tarafindan farkli formatta olusturulabilir.

fakat device tree herhangi bir pine herhangi bir fonksiyon atamak anlamina gelmiyor. mesela uart modulu pin 10-11 de ise (islemcinin datasheetine gore) device tree deki pin tanimlamalarini degistirip bunu istedigin bir pine alamiyorsun. (alsanda calismaz zaten) fakat uart 1 yerine uart 2 yi kullanmak istiyorsundur bunda farkli bir pindedir bu durumda ilgili pin degerlerini atayabilirsin. pin mux yapsan yapsan bu sekilde yapabilirsin yani.

birde device tree de ne degistirdi isen u-boot dada ufak degisiklikler yapman gerekebilir. yani uart 2 boot aninda konfigure edilmediyse yine calismayacaktir. u-boot kabaca islemciyi calismaya hazirladigindan device tree deki degisiklikten onunda haberi olmasi gerekir.