BeagleBone Black'te PinMux Olayı

Başlatan yamak, 08 Temmuz 2013, 14:52:37

yamak

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?

yamak

Bu konu hakkında bi fikri olan yok mu?Bu device tree olayı ne oluyo.Mantığı nedir?

donetello41

pinMux hakkında yardımcı alabilirmisin?

Firzen

Kararsız...

OptimusPrime

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.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||