1. Amaç    2

2. Giriş    2

3. Donanım Bazlı Güç Gereksinimleri    2

3.1 Besleme Gerilimleri    3

3.1.1 Dahili Güç Kaynakları    5

3.1.2 Dijital Regülatörler (LDO_ARM, LDO_PU, LDO_SOC)    5

3.1.2 Analog Modül Regülatörleri    5

3.2 Besleme Akımları    6

3.3 Besleme Pinleri    7

3.4 Güç Sıralaması    10

4. PMIC Kullanımı    12

4.1 PMIC Seçimi    12

4.2 PMIC(MMPF0100) Bağlantısı    13

4.3 PMIC Kernel Drive Kurulması    16

4.3.1 PMIC(MMPF0100) Device Tree    16

4.3.1 PMIC(MMPF0100) Kernel Driver    19

4.3.2 Dahili Güç Birimlerinin Device Tree Yapılandırması    20

5. Son    21

1. Amaç

Bu belgede, üzerinde linux koşacak olan i.MX6Q işlemcisinin güç bağlantısı ve yönetimi anlatılacaktır. Belgenin kapsamının çoğu donanım bağlı bir konu olsa da linux gereksinimleri gömülü linux kullanıcıları için ortaktır. 

Bu belge ATLAS_SoM projesinin alt belgesidir ve bazı bilgiler diğer belgelerden direk alınmış olabilir. Bu nedenle okurun takıldığı yerde ilgili belgeleri incelemsinde fayda olacaktır. 

Bu belgenin pdf halini buradaki google sheet adresinden indirebilirsiniz.

2. Giriş

Projenin işlemci seçimini anlatan belgesinde belirlediğimiz MCIMX6Q6AVT10AD işlemcisinin çalışabilmesi için gerekli en önemli gereksinimlerden biri güç  bağlantısı ve yönetimidir. Bu konunun büyük bir bölümü donanım bilgisi ile çözülmektedir. Fakat işlemci ayağa kalkıp linux kernel çalışmaya başladığında kernel  da işin içine karışmaktadır. Aslında bu özellik kullanılmak istenirse işin içine kernel girer. Bunun için uygun PMIC entegresi kullanılmalıdır.

i.MX6Q işlemcisi genel bir konu olmadığı için okuyucu isterse direk device tree ve kernel yapılandırması kısmını okuyabilir.

3. Donanım Bazlı Güç Gereksinimleri

Her işlemcinin belli güç girişleri ve bu girişlere uygulanması gereken voltaj değerleri vardır. İşlemci yapısı büyüdükçe güç girişleri sayısı, voltaj değerleri ve uygulanacak pinler karmaşıklaşmaktadır. Hatta harici voltaj vermenin yanında işlemciler bazı birimleri için kendi içlerinde voltaj üretmektedir. Örneğin kullanacağımız MCIMX6Q işlemcisinin içinde 1.1V çıkış veren LDO bulunmaktadır. Voltaj üretme konusu dışında ayrıca girişleri enerji verme sırası da(power sequence) ayrı önem taşımaktadır. 

YUkarıda anlatılan konuların dışında ayrıca işin içine PMIC(power management integrated circuit) konusu da girmektedir. Programlanan yada hazır programlanmış, I2C haberleşmesi, kontrol pinleri, voltaj çıkış birimlerin çalışma şekli gibi uzayıp giden konular da PMIC için incelenmesi gereken başlıkları oluşturmaktadır.

İşlemcimizin donanım gereksinimlerini karşılamak için doğru voltaj değerlerini sağlamak ve doğru PMIC entegresini kullanmanın yanında doğru yerleşim ve hat çizimi konuları da oldukça önemlidir. Örneğin işlemcimizin içindeki LDO’lar için yardımcı kapasiteler gerekmektedir ve bu kapasiteler işlemcinin LDO pinlerine oldukça yakın olmalıdır. Örneğin mesafe 50mil den az ve 0201 ile 0603 kılıf kullanılmalıdır. Üretici bu kadar detaylı bilgi vermesi aslında güç katının zorluğunu ve hassaslığını göstermektedir.

3.1 Besleme Gerilimleri

Yukarıdaki uyarıları göz önüne alarak MCIMX6Q6AVT10AD işlemcisine ait güç tasarımı yapmak için ilk olarak hangi voltaj değerlerine ihtiyaç olduğu, voltaj kaynaklarının ne olduğu ve hangi birim için gerekli olduğunu açıklayan bir tablo hazırlayalım. Tablo içindeki bağlantıları ve nedenleri anlatmak konuyu tam olarak anlamamızı sağlayacaktır. Zaten amaç sadece şema çizmek olsaydı birkaç örnek tasarımdan kopya çekilerek hedefe ulaşılırdı.

Tablo 1’ de işlemcinin çalışabilmesi için gerekli tüm güç  girişleri ve bu güçlerin nereden besleneceği açıklanmıştır. Kaynak olarak “imx6q dahili LDO”  belirtilen yerler işlemcinin dahili LDO tarafından üretilir. PMIC(PF0100) işlemcimiz için seçilen PMIC tarafından üretilir. Neden PMIC(PF0100)  seçildiği ise ilerleyen bölümlerde açıklanacaktır.. 

Tablo-1 bilgisinin yanında bu girişleri işlemcinin hangi pininden uygulayacağımızı da gördüğümüzde işler oldukça kolaylaşacak ama bu bilgi ile bile hala tasarım yapmak için uygun değil. Çünkü güç verme sırası ve dahili LDO gerilimlerini iç birimlere bağlama konularını da görmek gerekir. Bu yüzden LDO türlerini ve özellikleri üzerinde biraz konuşmakta fayda var.

3.1.1 Dahili Güç Kaynakları

İşlemcinin içinde Tablo-1’den de görüleceği üzere birçok dahili güç kaynakları bulunmaktadır. Bu kaynakların pin isimleri *_CAP olarak isimlendirilmiştir ve bu pinlere harici kapasiteler bağlanır. Dahili LDO’ lar iç birimler için kullanılmaktadır ve harici bir birimi beslemek için kullanılmaz.

Dahili LDO regülatörleri çıkış verebilmesi için önce beslenmesi gerekir. Sonuçta yok yerden voltaj üretecek değiller. Harici beslemeler ilgili LDO için kullanılan giriş pinlerinden verilir. Örneğin VDDARM_CAP_x LDO’su VDDARM_IN_x pinlerinden beslenir. Ayrıca LDO çalışma yapısını göz önüne alırsak LDO giriş gerilimimiz LDO çıkış geriliminden bir miktar fazla olmalıdır. Örneğin VDDARM_CAP_x 1.35V çıkış vermesi için VDDARM_IN_x girişine 1.375V uygulanı.

3.1.2 Dijital Regülatörler (LDO_ARM, LDO_PU, LDO_SOC)

Üç dijital LDO regülatör bulunur. Dijital denmesi yapıları nedeniyle değil, sürdükleri mantık yükleri nedeninden kaynaklanır. Anahtarlama yöntemiyle çalıştıklarından dolayı regülatörler girişteki dalgalanmalardan ve voltaj düşüşlerinden etkilenmemesi beslenecek yükler için avantaj oluşturmaktadır. 

LDO_SOC/VDD_SOC_CAP çıkışı istenirse opsiyonel olarak harici bağlantı ile HDMI, PCIe, ve SATA PHY beslemek için kullanılabilir. Hatta bu durum birçok uygulamada karşımıza çıkmaktadır.

3.1.2 Analog Modül Regülatörleri

  1. LDO_1P1 / NVCC_PLL_OUT ⇒  NVCC_PLL_OUT sonu _CAP ile bitmese de PLL kısmını besleyen LDO
  2. LDO_2P5 (VDDHIGH_CAP) ⇒ 2.5V çıkış verir ve SATA PHY, USB PHY, LVDS PHY, HDMI PHY, MIDI PHY, E-fuse ve PLL hatlarını besler.
  3. LDO_USB ⇒ USB_OTG_VBUS ve USB_H1_VBUS hatlarına 5V sağlar.

Aşağıdaki tabloda dahili  voltaj kaynaklarının özet tablosu bulunmaktadır.

3.2 Besleme Akımları

Yukarıda bahsedilen besleme kaynakları için akım değerlerini de incelemek gerekir. Çünkü yapının tasarlanması harcanacak güce bağlıdır. Aşağıda ilgili  kanallar için gerekli  akım değerleri bulunmaktadır. Bu veriler MCIMX6QxAxxxxD.pdf belgesiinden alınmıştır.

Birden fazla çıkışı olan birimlerde güç hesabı aşağıda verilen formül ile hesaplanır. Formüldeki N değeri ilgili birimin dışarı çıkan pin/hat sayısıdır. Örneğin NVCC_CSI için N=20 dir.

General equation for estimated, maximum power consumption of an IO power supply:
Imax = N x C x V x (0.5 x F)
Where:N—Number of IO pins supplied by the power lineC—Equivalent external capacitive loadV—IO voltage(0.5 xF)—Data change rate. Up to 0.5 of the clock rate (F)In this equation, Imax is in Amps, C in Farads, V in Volts, and F in Hertz.

3.3 Besleme Pinleri

Besleme voltaj ve akım değerlerini belirledikten sonra sıra bu girdilerin uygulanacağı pinleri incelemeye geldi. Aşağıda NXP firmasının Config Tool for IMX programında işaretlenmiş güç pinlerini topluca gösteren resim bulunmaktadır.

Resimde ilk göze çarpan güç pinlerinin oldukça çok olması. Bu projede güç katı için bir belge hazırlama nedenlerinden biri de bu kadar çok sayıda pinin kullanılmasının verdiği önemdir. Buradaki bir hata tüm çalışmayı çöpe atabilir. Bu sebepten dolayı hem hem tasarımda hem de hat çizimlerinde dikkatli olmak gerekir. Aşağıda MCIMX6QxAxxxxD.pdf belgesinden alınan güç pinleri listesi bulunmaktadır.

3.4 Güç Sıralaması

Güç sıralaması(power sequence), güçlerin ilgili birimlere hangi sıra ile verileceğini belirler. İlk olarak açılış  güç sıralamasını ele alalım.

  1. VDD_SNVS_IN ilk olarak tüm güç kaynaklarından önce uygulanmalıldır. Bu giriş istenirse VDD_HIGH_IN girişi ile kısa devre edilerek aynı anda güç verilebilir. 
  2. VDD_ARM_IN ve VDD_SOC_IN güç verilir.
  3. VDD_ARM_CAP, VDD_SOC_CAP, ve VDD_PU_CAP stabil olduktan sonra SRC_POR_B pini high seviyesine çekilir. SRC_POR_B pini pini low seviyesine çekildiğinde işlemci reset alır.
  4. USB_OTG_VBUS ve USB_H1_VBUS uygulanma sırası önemli değildir. 

Kapanış için özel bir güç sıralaması yoktur. 

Güç kaynaklarının kullanımında bazı dikkat edilmesi gereken noktalar vardır.

  •  Sürücü biriminde (NVCC_xxx) güç olmayan hiçbir pin haricci olarak kullanılmamalıdır. Bu, ters akım akışları nedeniyle dahili kilitlenmeye ve arızalara neden olabilir. 
  • SATA birimi kullanılmayacak ise SATA_VP ve SATA_VPH girişleri toprağa bağlanmalıdır.
  • SATA biriminin diğer pinleri (SATA_REXT, SATA_PHY_RX_N, SATA_PHY_RX_P, and SATA_PHY_TX_N) boşta bırakılabilir. 
  • SATA_VP güç girişi var iken SATA_VPH girişi kapalı olmamalıdır. 
  • PCIe birimi kullanılmayacak ise PCIE_VP, PCIE_VPH ve PCIE_VPTX girişleri toprağa bağlanmalıdır.
  • PCIe biriminin diğer pinleri (PCIE_REXT, PCIE_RX_N, PCIE_RX_P, PCIE_TX_N, and PCIE_TX_P) toprağa bağlanmalıdır.
  • PCIE_VP güç girişi var iken PCIE_VPH girişi kapalı olmamalıdır.  

Aşağıda güç sıralamasını özetleyen iki resim bulunmaktadır. İlk resimde zaman dilimi 50ms iken ikinci resimde 500us. Bu sayede zaman farkı kolaylıkla görülebilmektedir.

Input-5V > SNVS > VDDARM_IN > VDDSOC_IN > VDDHIGH_IN > VGEN2(System 1.5V) > POR_B

4. PMIC Kullanımı

Çok farklı voltaj değerlerine ihtiyaç duyulması ve açılış sırasının olması güç devresini çok zor hale getirmektedir. Bu zorluğu aşmak için karşımıza tek paket halinde PMIC entegreleri çıkmaktadır. İşlemciye uygun PMIC entegresi ile istenilen tüm çıkışlar istenilen güçte alınabilmektedir.

Linux board tasarımına başladığımda en az işlemci seçimi kadar önem verdiğim diğer entegre PMIC entegresidir. İşlemci, eMM ve DDR beslemeleri düzgün olduktan sonra bordun çalışması büyük  ihtimalle başarılı olacaktır.

4.1 PMIC Seçimi

PMIC entegresi seçiminde daha öncesinden imx6q ile kullanılmış başarılı olmuş örnekler üzerinde durdum. Rastgele bir PMIC seçip onu kullanmaya kalkmak zorluğunun yanında başarısız olma ihtimali taşımaktadır. Örnek kullanımlarda iki entegre karşıma çıktı: birincisi LTC3676 ikincisi MMPF0100.
           

LTC3676MMPF0100
imx6q ile UyumluOKOK
Güç Çıkışı YeterliOKOK
Voltaj Kanal SayısıOKOK
ProgramlanabilirOKOK
Kullanım sıklığıDüşükYüksek
Fiyat~14$~6$
Yardımcı ProgramYOKNXP PMIC Tool
Hazır programlı? GörülemediVar
imx6 Serisi UygunlukOKOK
Kernel DriverOKOK

Karşılaştırma tablosunda farklar görülmektedir. Fiyat, yardımcı program ve hazır programlı maddelerinden dolayı MMPF0100 çok avantajlı. Hazır programlı seçeneğini daha detaylı anlamak için entegrenin datasheet incelebilir. Üretici imx6 serisi işlemciler ile uyumlu programlanmış birçok seçenek sunmaktadır. Dolayısı ile imx6q yerine imx6d serisi kullanılmak istenirse sadece satın alımda imx6d uygun programlanmış MMPF0100 almak yeterli olacak.

Eğer PMIC kendimiz programlamak istersek NXP firmasının PMIC programlama uygulaması işleri çok kolaylaştırmaktadır LTC3676 için böyle bir yardımcı uygulama göremedim

MMPF0100 için ayrıca birçok kaynak ve geliştirme kart bulunmaktadır. Bu linklerden bunlara ulaşabilirsini; Uygulama, Geliştirme seti

NXP’nin birçok bu entegre için çalışma yapmış olması, uzun zamandan beri kullanılıyor olması, fiyat avantajı ve kaynak çokluğu ve bunların yanında kernel driver hazır olmasından dolayı MMPF0100 entegresini kullanmaya karar verdim. Bu tür seçimlerde kernel driver olası hepsinden önemli.

4.2 PMIC(MMPF0100) Bağlantısı

MMPF0100 bağlantısı yapılırken iki farklı alana dikkat etmek gerekir. Birincisi işlemci ile arasındaki güç hatları diğeri ise hem gpio hem de I2C kullanarak işlemci ile konuştuğu kontrol hatları. Aşağıdaki resimde örnek blok serimler bulunmaktadır.

Bu zamana kadar hep güç hatlarından bahsettik. Artık sıra PMIC kontrol hatlarından konuşmaya geldi. Kontrol hatlarını I2C, PWRON, RESETBMCU, STANDBY, SDWNB ve INTB oluşturmaktadır.

  • I2C tahmin edileceği üzere seri haberleşme için kullanılır. Örneğin x voltaj çıkışının durumunu/değerini okumak için kullanılır. 
  • PMIC PWRON(56) pini normal çalışmada pull-up yapılarak çalışma sağlanır. Reset tuşu yada wdt ile ground çekilerek tüm sisteme reset atılır. Bu reset sadece işlemci olarak düşünülmemeli, tüm birimler reset alır.
  •  RESETBMCU pini low konuma düşünce işlemci reset alır. Open-drain pindir ve içerde pull-up yapılmıştır.
  • Standby işlemcinin deep sleep modd (DSM) olarak tanımlanır. İşlemci bu moda girmek istediğinde önce PMIC bu durum hakkında bilgilendirmelidir. PMIC de daha sonra kendi hazırlığını yapar. STANDBY = 0: System is not in standby, STANDBY = 1: System is in standby
  • SDWNB open-drain yapıdadır ve harici olarak pull-up yapılarak kullanılır. Low konuma düştüğünde işlemciye PMIC’in kapanacağını belirtmek için kullanılır.
  • INTB pini open drain yapıdadır ve harici olarak pull-up yapılarak işlemciye bağlanır. Herhangi bir hata oluştuğunda PMIC bu hattı LOW konumuna düşürür. İşlemci PMIC içinde ilgili alana 1 yazarak interrupt konumunu temizler ve INTB hattı tekrardan HIGH olur..

4.3 PMIC Kernel Drive Kurulması

Donanım ile ilgili  işler bittikten sonra sıra işlemcinin PMIC ile konuşmasını sağlayacak olan driver yapılandırmasına geldi. Bu yapılandırmayı iki adımda tamamlayacağız; birincisi device tree düzenlemesi ikincisi kernel driver aktif edilmesi.

4.3.1 PMIC(MMPF0100) Device Tree

Device Tree içinde PMIC ayarlaması yapmak için ilk olarak kernel dizini içinde bulunan aşağıdaki kaynakları okumak gerekir.

Regulator.yaml belgesinde device tree içinde regulator yapılandırması için gerekli terimlerin açıklaması bulunmaktadır. Pfuze100.yaml belgesi ise devremizde kullanacağımız MMPF0100 ait device tree açıklamaları ve örnekler bulunmaktadır. Hatta verilen örnek kendi device tree içinde kullanacağımız yapının aynısı. PMIC seçimi başlığında yaptığımız çalışmaların meyvesini toplamış oluyoruz. Hatta kernel 4.9.10 sürümünde MMPF0100 farklı versiyonları için de hazır kullanıma yönelik daha fazla örnek bulunmakta. Bu linkten ulaşabilirsiniz. 

Aşağıda pmic için gerekli device tree kodları bulunmaktadır.

pmic: pfuze100@8 {
        compatible = "fsl,pfuze100";
        reg = <0x8>;

        regulators {
            sw1a_reg: sw1ab {
                regulator-min-microvolt = <300000>;
                regulator-max-microvolt = <1875000>;
                regulator-boot-on;
                regulator-always-on;
                regulator-ramp-delay = <6250>;
            };
            sw1c_reg: sw1c {
                regulator-min-microvolt = <300000>;
                regulator-max-microvolt = <1875000>;
                regulator-boot-on;
                regulator-always-on;
                regulator-ramp-delay = <6250>;
            };
            sw2_reg: sw2 {
                regulator-min-microvolt = <800000>;
                regulator-max-microvolt = <3300000>;
                regulator-boot-on;
                regulator-always-on;
            };
            sw3a_reg: sw3a {
                regulator-min-microvolt = <400000>;
                regulator-max-microvolt = <1975000>;
                regulator-boot-on;
                regulator-always-on;
            };
            sw3b_reg: sw3b {
                regulator-min-microvolt = <400000>;
                regulator-max-microvolt = <1975000>;
                regulator-boot-on;
                regulator-always-on;
            };
            sw4_reg: sw4 {
                regulator-min-microvolt = <800000>;
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
            };
            swbst_reg: swbst {
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5150000>;
            };
            snvs_reg: vsnvs {
                regulator-min-microvolt = <1000000>;
                regulator-max-microvolt = <3000000>;
                regulator-boot-on;
                regulator-always-on;
            };
            vref_reg: vrefddr {
                regulator-boot-on;
                regulator-always-on;
            };
            vgen1_reg: vgen1 {
                regulator-min-microvolt = <800000>;
                regulator-max-microvolt = <1550000>;
            };
            vgen2_reg: vgen2 {
                regulator-min-microvolt = <800000>;
                regulator-max-microvolt = <1550000>;
            };
            vgen3_reg: vgen3 {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
            };
            vgen4_reg: vgen4 {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
            };
            vgen5_reg: vgen5 {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
            };
            vgen6_reg: vgen6 {
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3300000>;
                regulator-always-on;
            };
        };
    };

Peki bu pmic yapısı device tree içinde nerede olmalı, yani bir ana düğüm(parent) içinde mi olmaslı yoksa kök düğüm içinde bireysel mi yer almalı? Entegrenin I2C özelliği olmasından dolayı bağlı olduğu I2C hattının içinde bir düğüm olmalıdır. Örneğin ikinci I2C hattına bağlı olduğunu düşünürsek device tree kodumuz aşağıdaki gibi olur.

&i2c2 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c2>;
    status = "okay";

    pmic: pfuze100@8 {
        compatible = "fsl,pfuze100";
        reg = <0x8>;

        regulators {
            sw1a_reg: sw1ab {
                regulator-min-microvolt = <300000>;
                regulator-max-microvolt = <1875000>;
                regulator-boot-on;
                regulator-always-on;
                regulator-ramp-delay = <6250>;
            };
                    ……
                    ……
                    …...
         }; //end of pmic 


}; //end of i2c2

4.3.1 PMIC(MMPF0100) Kernel Driver 

PMIC için ayarlanan device tree kernel tarafında bir sürücü(driver) tarafından ele alınması gerekmektedir. Hatta device tree kodunda yazdığımız “compatible = “fsl,pfuze100”; ” satırı of_platform veri yolu yapısı ile ilgili sürücü ile eşleştirmek içindir. 

PMIC kernel driver aktif etmek için ilk olarak “make menuconfig” komutunu kernel kaynak kodunun kök dizininde koşalım. Daha sonra  PMIC için yapılandırmaları yapmak için “shift+7”(shift yedi) basarak arama sayfasını açalım. Arama için “pfuze100” metnini girelim. Arama sonrasında karşımıza aşağıdaki gibi bir sonuç çıkması gerekiyor.

Görüldüğü üzere pfuze100 için gerekli değişkenler ayarlanmış durumda. Pfuze100 aktif olabilmesi için öncesinde Depends on değişkenlerinin aktif edilmesi gerektiğinide unutmamak gerek. 

4.3.2 Dahili Güç Birimlerinin Device Tree Yapılandırması

Bu başlık kullanılan işlemci ve üreticinin özel kernel kodları bağlıdır. Tahmin edileceği üzere her işlemcide aynı dahilli regulatörler bulunmaz. Peki bu özel birimler için device tree ve kernel kodlarını nasıl düzenleyeceğiz? Cevap üreticini yayınladığı örnek projelerde bulunmaktadır. Her üretici kendi işlemcisi için temel seviyede bir device tree yayınlar. Hatt bu device tree üreticinin ilgili işlemci için geliştirdiği geliştirme kartları için de kullanılır. Örneğin imx6q için sabreauto geliştirme kartının dts dosyasına bakarsak imx6qdl-sabreauto.dtsi dosyasının dahil edildiğini ve devamında da imx6qdl.dtsi dahil edildiğini görürüz. Imx6qdl.dtsi dosyasının içinde 2p5 dahili biriminin nasıl yapılandırıldığı ve hangi kernel driver ele alacağını görebiliriz.

 anatop: anatop@20c8000 {
           compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
           reg = <0x20c8000 0x1000>;

               regulator-2p5 {
                    compatible = "fsl,anatop-regulator";
                    regulator-name = "vdd2p5";
                    regulator-min-microvolt = <2250000>;
                    regulator-max-microvolt = <2750000>;
                    regulator-always-on;
                    anatop-reg-offset = <0x130>;
                    anatop-vol-bit-shift = <8>;
                    anatop-vol-bit-width = <5>;
                    anatop-min-bit-val = <0>;
                    anatop-min-voltage = <2100000>;
                    anatop-max-voltage = <2875000>;
                    anatop-enable-bit = <0>;
                };

5. Son

Özetle bu belgede her ne kadar özel bir işlemci çeşidi üzerinden güç yapılandırması anlatılsa da linux makineler için güç yapılandırması için temel bazda bilinmesi gereken konular anlatılmıştır. Üzerinde linux koşacak bir donanım tasarlarken güç biriminin önemli olduğu ve bu birim için özel bir çalışma gerektiği anlatılmak istenmiştir. Bu çalışma hem donanım hem de yazılım bazlı olması gerektiği vurgulanmıştır.

Zafer Satılmış – 23.11.202