18c2ecf20Sopenharmony_ciSamsung S3C24XX Interrupt Controllers
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe S3C24XX SoCs contain a custom set of interrupt controllers providing a
48c2ecf20Sopenharmony_civarying number of interrupt sources. The set consists of a main- and sub-
58c2ecf20Sopenharmony_cicontroller and on newer SoCs even a second main controller.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci- compatible: Compatible property value should be "samsung,s3c2410-irq"
98c2ecf20Sopenharmony_ci  for machines before s3c2416 and "samsung,s3c2416-irq" for s3c2416 and later.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci- reg: Physical base address of the controller and length of memory mapped
128c2ecf20Sopenharmony_ci  region.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci- interrupt-controller : Identifies the node as an interrupt controller
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci- #interrupt-cells : Specifies the number of cells needed to encode an
178c2ecf20Sopenharmony_ci  interrupt source. The value shall be 4 and interrupt descriptor shall
188c2ecf20Sopenharmony_ci  have the following format:
198c2ecf20Sopenharmony_ci      <ctrl_num parent_irq ctrl_irq type>
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  ctrl_num contains the controller to use:
228c2ecf20Sopenharmony_ci      - 0 ... main controller
238c2ecf20Sopenharmony_ci      - 1 ... sub controller
248c2ecf20Sopenharmony_ci      - 2 ... second main controller on s3c2416 and s3c2450
258c2ecf20Sopenharmony_ci  parent_irq contains the parent bit in the main controller and will be
268c2ecf20Sopenharmony_ci             ignored in main controllers
278c2ecf20Sopenharmony_ci  ctrl_irq contains the interrupt bit of the controller
288c2ecf20Sopenharmony_ci  type contains the trigger type to use
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciExample:
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	interrupt-controller@4a000000 {
338c2ecf20Sopenharmony_ci		compatible = "samsung,s3c2410-irq";
348c2ecf20Sopenharmony_ci		reg = <0x4a000000 0x100>;
358c2ecf20Sopenharmony_ci		interrupt-controller;
368c2ecf20Sopenharmony_ci		#interrupt-cells=<4>;
378c2ecf20Sopenharmony_ci	};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	[...]
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	serial@50000000 {
428c2ecf20Sopenharmony_ci		compatible = "samsung,s3c2410-uart";
438c2ecf20Sopenharmony_ci		reg = <0x50000000 0x4000>;
448c2ecf20Sopenharmony_ci		interrupt-parent = <&subintc>;
458c2ecf20Sopenharmony_ci		interrupts = <1 28 0 4>, <1 28 1 4>;
468c2ecf20Sopenharmony_ci	};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	rtc@57000000 {
498c2ecf20Sopenharmony_ci		compatible = "samsung,s3c2410-rtc";
508c2ecf20Sopenharmony_ci		reg = <0x57000000 0x100>;
518c2ecf20Sopenharmony_ci		interrupt-parent = <&intc>;
528c2ecf20Sopenharmony_ci		interrupts = <0 30 0 3>, <0 8 0 3>;
538c2ecf20Sopenharmony_ci	};
54