سؤال

أنا أعمل مع نواة لينكس الجهاز شجرة للوهلة الأولى يبدو أن هناك في عداد المفقودين وظيفة العقد مع عدة يقطع الآباء.علي السائق أن يتحكم مخصص الذراع جزءا لا يتجزأ من المجلس ، فإنه يأخذ GPIOs و دبوس يقطع من عدة GPIO يقطع الآباء و يدير المجلس على بطارية الجهد المنخفض irqs, reset_pending irq, الخ.

لقد وجدت مصدر واحد حيث شخص يبدو أنه قد اخترق في وظائف إضافية للتعامل مع هذا ولكن هذا ليس حلمي و يتضمن تعديل المقاطعة مصدر الملفات التي لا تريد.التعديل واضاف لدعم مصطلح يسمى "يقطع الموسعة" مثل هذا.هنا المقاطعة الأصل المحدد في الصفوف.

    #interrupt-cells = <2>;
    interrupts-extended = <&gpio3 21 1>, <&gpio7 13 2>; /* voltage/reset irq */

لم أجد أي وسيلة أو سبيل المثال كيفية استخدام المقاطعة-خريطة الملكية لتحقيق بسيطة gpio يقطع تعيين لذلك أنا في حيرة هناك.

إذا كنت فقط باستخدام واحد GPIO يقطع الوالد الطريقة الصحيحة للقيام بذلك سوف يكون مثل هذا.

interrupt-parent = <&gpio1>;
interrupts = <9 2>, <8,1>;

ولكن يسمح فقط إعلان واحد يقطع الوالد مع العديد من المقاطعات المحددة في "المقاطعات" أنها تنتمي إلى الأصل المحدد.أنا باستخدام 2 يقطع الآباء ، gpio7 و gpio3.

ما هي الطريقة المناسبة لتنفيذ متعددة يقطع مع مختلف يقطع الآباء في جهاز واحد العقدة في الجهاز الشجرة ؟

هل كانت مفيدة؟

المحلول

أنا لا أعرف إذا كان هذا يعمل gpio يقطع الآباء, ولكن أنواع أخرى من المقاطعة تحكم استخدام 'المقاطعة-خريطة ممتلكات و تحديد قائمة المقاطعات باستخدام phandles إلى كل من تحكم منفصلة.هنا هو مثال رأيت حيث يحتاج السائق 3 المقاطعات ، 2 من 'intc' تحكم و 1 من 'spmi' تحكم:

interrupts = <0 1 2>;
interrupt-map = <0 &intc 0 134 0
                 1 &intc 0 140 0
                 2 &spmi 0 0x9 0 0>;
interrupt-names = "core_irq", "async_irq", "pmic_id_irq";
interrupt-map-mask = <0 0 0 0>;

في هذا المثال ، intc عقدة كان #المقاطعة-خلايا قيمة <3> و spmi عقدة كان #المقاطعة-خلايا القيمة 4 (بمعنى أن العديد من الحجج اللازمة ليتم استخدامها مع كل منهما phandles).

المقاطعة-أسماء الحقل اختياري, ولكن يسمح لك طلب irq بواسطة الاسم بدلا من الرقم في الكود (أي استخدام platform_get_irq_byname () ، بدلا من platform_get_irq() )

أن نكون صادقين, أنا متأكد قليلا ما يقطع-خريطة-قناع يستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top