Merge tag 'powerpc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[linux-2.6-microblaze.git] / arch / powerpc / include / asm / prom.h
index 825bd59..b04c5ce 100644 (file)
@@ -80,21 +80,20 @@ extern void of_instantiate_rtc(void);
 
 extern int of_get_ibm_chip_id(struct device_node *np);
 
-/* The of_drconf_cell struct defines the layout of the LMB array
- * specified in the device tree property
- * ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory
- */
-struct of_drconf_cell {
-       u64     base_addr;
-       u32     drc_index;
-       u32     reserved;
-       u32     aa_index;
-       u32     flags;
+struct of_drc_info {
+       char *drc_type;
+       char *drc_name_prefix;
+       u32 drc_index_start;
+       u32 drc_name_suffix_start;
+       u32 num_sequential_elems;
+       u32 sequential_inc;
+       u32 drc_power_domain;
+       u32 last_drc_index;
 };
 
-#define DRCONF_MEM_ASSIGNED    0x00000008
-#define DRCONF_MEM_AI_INVALID  0x00000040
-#define DRCONF_MEM_RESERVED    0x00000080
+extern int of_read_drc_info_cell(struct property **prop,
+                       const __be32 **curval, struct of_drc_info *data);
+
 
 /*
  * There are two methods for telling firmware what our capabilities are.
@@ -159,6 +158,7 @@ struct of_drconf_cell {
 #define OV5_PFO_HW_842         0x1140  /* PFO Compression Accelerator */
 #define OV5_PFO_HW_ENCR                0x1120  /* PFO Encryption Accelerator */
 #define OV5_SUB_PROCESSORS     0x1501  /* 1,2,or 4 Sub-Processors supported */
+#define OV5_DRMEM_V2           0x1680  /* ibm,dynamic-reconfiguration-v2 */
 #define OV5_XIVE_SUPPORT       0x17C0  /* XIVE Exploitation Support Mask */
 #define OV5_XIVE_LEGACY                0x1700  /* XIVE legacy mode Only */
 #define OV5_XIVE_EXPLOIT       0x1740  /* XIVE exploitation mode Only */
@@ -175,6 +175,7 @@ struct of_drconf_cell {
 #define OV5_HASH_GTSE          0x1940  /* Guest Translation Shoot Down Avail */
 /* Radix Table Extensions */
 #define OV5_RADIX_GTSE         0x1A40  /* Guest Translation Shoot Down Avail */
+#define OV5_DRC_INFO           0x1640  /* Redef Prop Structures: drc-info   */
 
 /* Option Vector 6: IBM PAPR hints */
 #define OV6_LINUX              0x02    /* Linux is our OS */