|  | // Copyright lowRISC contributors. | 
|  | // Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
|  | // SPDX-License-Identifier: Apache-2.0 | 
|  | // | 
|  | // Example configuration | 
|  | { | 
|  | // Reset attributes | 
|  | // name: name of reset. | 
|  | // | 
|  | // gen: whether the reset is generated | 
|  | // 1: it is a generated reset inside rstmgr | 
|  | // 0: it is a hardwired design reset inside rstmgr (roots and por) | 
|  | // | 
|  | // type: the reset type [ext, top] | 
|  | // ext: the reset is coming in from the ports, external to earlgrey | 
|  | // int: the reset is only used inside rstmgr | 
|  | // top: the reset is output from rstmgr to top level struct | 
|  | // | 
|  | // root: The parent reset | 
|  | // If type is "ext", there is no root, since it is external | 
|  | // | 
|  | // domain: The power domain | 
|  | // If no domain, it means there is no choice, just inherits from root. | 
|  | // Otherwise, selects the domain to which it is related | 
|  | // 0 is defaulted for always on. | 
|  | // TBD: This should eventually be changed to a name->index project wide lookup | 
|  | // | 
|  | // clk:  related clock domain for synchronous release | 
|  | // If type is "por", there is not related clock, since it is | 
|  | // likely external or generated from a voltage comparator | 
|  | // | 
|  | resets: [ | 
|  | { name: "rst_ni",      gen: 0, type: "ext"                                                  } | 
|  | { name: "por_aon",     gen: 0, type: "top",              root: "rst_ni",  clk: "aon"        } | 
|  | { name: "lc_src",      gen: 0, type: "int",              root: "por",     clk: "io_div2"    } | 
|  | { name: "sys_src",     gen: 0, type: "int",              root: "por",     clk: "io_div2"    } | 
|  | { name: "por",         gen: 1, type: "top",              root: "por_aon", clk: "main"       } | 
|  | { name: "por_io",      gen: 1, type: "top",              root: "por_aon", clk: "io"         } | 
|  | { name: "por_io_div2", gen: 1, type: "top",              root: "por_aon", clk: "io_div2"    } | 
|  | { name: "por_usb",     gen: 1, type: "top",              root: "por_aon", clk: "usb"        } | 
|  | { name: "lc",          gen: 1, type: "top", domain: "0", root: "lc_src",  clk: "io_div2"    } | 
|  | { name: "sys",         gen: 1, type: "top", domain: "0", root: "sys_src", clk: "main"       } | 
|  | { name: "sys_io",      gen: 1, type: "top", domain: "0", root: "sys_src", clk: "io_div2"    } | 
|  | { name: "sys_aon",     gen: 1, type: "top", domain: "0", root: "sys_src", clk: "aon"        } | 
|  | { name: "spi_device",  gen: 1, type: "top", domain: "0", root: "sys_src", clk: "io_div2",  sw: 1 } | 
|  | { name: "usb",         gen: 1, type: "top", domain: "0", root: "sys_src", clk: "usb", sw: 1 } | 
|  | ] | 
|  | } |