Changes between Version 7 and Version 8 of FlattenedDeviceTree
- Timestamp:
- Nov 24, 2009, 3:58:10 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
FlattenedDeviceTree
v7 v8 44 44 There is a couple of optional attributes: 45 45 46 `ipi_icudev`:: 47 This is a reference to the ICU device handling IPIs for this CPU 48 `ipi_no`:: 49 This is the IPI register number in the said ICU device. 46 `ipi`:: 47 This is a reference to the ICU device handling IPIs for this CPU, and the ipi number, like 48 {{{ 49 ipi = <&{/xicu@0/out@2} 2>; 50 }}} 50 51 51 52 == Memories == … … 75 76 76 77 Interrupts controller are referenced from one node to another in order to describe the interrupt tree. References are handled through the following properties: 77 `icudev`::78 Must be a path to an existing ICU device, enclosing in `&{}` is syntactic79 78 `irq`:: 80 Is the irq number in `icudev`. 79 Must be a path to an existing ICU device, and the icu irq number, enclosed in `<&{path} no>`. This syntax is mandatory. Example: 80 {{{ 81 irq = <&{/cpus/Mips,32@0} 0>; 82 }}} 81 83 82 84 Example: … … 86 88 input_count = <2>; 87 89 reg = <0x20600000 0x20>; 88 icudev = &{/cpus/Mips,32@0}; 89 irq = <0>; 90 irq = <&{/cpus/Mips,32@0} 0>; 90 91 }; 91 92 … … 94 95 tty_count = <1>; 95 96 reg = <0x90600000 0x10>; 96 icudev = &{/icu@0}; 97 irq = <1>; 97 irq = <&{/icu@0} 1>; 98 98 }; 99 99 }}} … … 126 126 127 127 {{{ 128 struct soclib_xicu_param_s 129 { 130 size_t output_line_no; 128 struct xicu_root_param_s 129 { 130 size_t input_lines; 131 size_t ipis; 132 size_t timers; 131 133 }; 132 134 }}} … … 134 136 In the driver, the id definition is: 135 137 {{{ 136 static const struct driver_param_binder_s xicu_param_binder[] = 137 { 138 PARAM_BIND(struct soclib_xicu_param_s, output_line_no, PARAM_DATATYPE_INT), 139 { 0 } 140 }; 141 142 static const struct devenum_ident_s xicu_soclib_ids[] = 143 { 144 DEVENUM_FDTNAME_ENTRY("soclib:xicu", sizeof(struct soclib_xicu_param_s), xicu_param_binder), 145 { 0 } 138 static const struct driver_param_binder_s xicu_root_binder[] = 139 { 140 PARAM_BIND(struct xicu_root_param_s, input_lines, PARAM_DATATYPE_INT), 141 PARAM_BIND(struct xicu_root_param_s, ipis, PARAM_DATATYPE_INT), 142 PARAM_BIND(struct xicu_root_param_s, timers, PARAM_DATATYPE_INT), 143 { 0 } 144 }; 145 146 static const struct devenum_ident_s xicu_root_ids[] = 147 { 148 DEVENUM_FDTNAME_ENTRY("soclib:xicu:root", sizeof(struct xicu_root_param_s), xicu_root_binder), 149 { 0 } 146 150 }; 147 151 }}} … … 170 174 tty_count = <1>; 171 175 reg = <0x90600000 0x10>; 172 icudev = &{/icu@0}; 173 irq = <1>; 176 irq = <&{/icu@0} 1>; 174 177 }; 175 178 }}}