diff --git a/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
index bb19dc5..a7aaa14 100644
--- a/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
@@ -43,12 +43,127 @@
       description: >
           CAS Latency (CL) values are supported. The CAS latency is the delay
           between the time at which the column address and the column address
-          strobe signal are presented to the memory module and the time at which
-          the corresponding data is made available by the memory module.
+          strobe signal are presented to the memory module and the time at
+          which the corresponding data is made available by the memory module.
     - name: RevisionCode
       type: uint16
       description: >
           Revision code provided by the individual manufacturer.
+    - name: FormFactor
+      type: enum[self.FormFactor]
+      description: >
+          The base module type of the memory.
+    - name: MemoryTotalWidth
+      type: uint16
+      description: >
+          The bus width, in bits.
+    - name: AllowedSpeedsMHz
+      type: array[uint16]
+      description: >
+          Speeds supported by this memory.
+    - name: MaxAveragePowerLimitmW
+      type: array[uint32]
+      description: >
+          Set of maximum power budgets supported by the memory in milliwatts.
+    - name: SpareDeviceCount
+      type: byte
+      description: >
+          Number of unused spare devices available in the memory.
+    - name: Socket
+      type: uint16
+      description: >
+          The socket number to which the memory is connected.
+    - name: MemoryController
+      type: uint16
+      description: >
+          The memory controller number to which the memory is connected.
+    - name: Channel
+      type: uint16
+      description: >
+          The channel number to which the memory is connected.
+    - name: Slot
+      type: uint16
+      description: >
+          The slot number to which the memory is connected.
+    - name: VolatileRegionSizeLimitKiB
+      type: uint32
+      description: >
+          Total size of volatile regions in kibibytes (KiB).
+    - name: PmRegionSizeLimitKiB
+      type: uint32
+      description: >
+          Total size of persistent regions in kibibytes (KiB).
+    - name: AllowedMemoryModes
+      type: array[string]
+      description: >
+          Memory modes supported by the memory.
+    - name: IsSpareDeviceInUse
+      type: boolean
+      description: >
+          An indication of whether a spare device is enabled for this memory.
+    - name: IsRankSpareEnabled
+      type: boolean
+      description: >
+          An indication of whether rank spare is enabled for this memory.
+    - name: VolatileRegionNumberLimit
+      type: uint16
+      description: >
+          Total number of volatile regions this memory can support.
+    - name: PmRegionNumberLimit
+      type: uint16
+      description: >
+          Total number of persistent regions this memory can support.
+    - name: VolatileRegionMaxSizeKiB
+      type: uint32
+      description: >
+          Maximum size of a single volatile region in kibibytes (KiB).
+    - name: PmRegionMaxSizeKiB
+      type: uint32
+      description: >
+          Maximum size of a single persistent region in kibibytes (KiB).
+    - name: AllocationIncrementInKiB
+      type: uint64
+      description: >
+          The size of the smallest unit of allocation for a memory region in
+          kibibytes (KiB).
+    - name: AllocationAlignementInKiB
+      type: uint64
+      description: >
+          The boundary that memory regions are allocated on, measured in
+          kibibytes (KiB).
+    - name: ModuleManufacturerID
+      type: string
+      description: >
+          The manufacturer ID of this memory module.
+    - name: ModuleProductID
+      type: string
+      description: >
+          The product ID of this memory module.
+    - name: SubsystemVendorID
+      type: string
+      description: >
+          The manufacturer ID of the memory subsystem controller of this
+          memory module.
+    - name: SubsystemDeviceID
+      type: string
+      description: >
+          The product ID of the memory subsystem controller of this memory
+          module.
+    - name: VolatileSizeInKiB
+      type: uint32
+      description: >
+          Total size of the volatile portion memory in kibibytes (KiB).
+    - name: PmSizeInKiB
+      type: uint32
+      description: >
+          Total size of the non-volatile portion memory in kibibytes (KiB).
+    - name: CacheSizeInKB
+      type: uint32
+      description: >
+          Total size of the cache portion memory in kibibytes (KiB).
+    - name: MemoryMedia
+      type: array[string]
+      description: Media of this memory.
 
 enumerations:
     - name: Ecc
@@ -64,7 +179,7 @@
         - name: MultiBitECC
           description: >
               Multibit data errors can be corrected by ECC.
-        - name: AddressParit
+        - name: AddressParity
           description: >
               Address parity errors can be corrected.
     - name: Type
@@ -199,3 +314,40 @@
         - name: DDR4E_SDRAM
           description: >
               Double Data Rate 4 Extended Compliant SDRAM.
+    - name: FormFactor
+      description: >
+          Implementation form factor for this memory device.
+      values:
+        - name: RDIMM
+          description: >
+              Registered DIMM.
+        - name: UDIMM
+          description: >
+              Unbuffered DIMM.
+        - name: SO_DIMM
+          description: >
+              Small Outline DIMM.
+        - name: LRDIMM
+          description: >
+              Load-reduced DIMMs.
+        - name: Mini_RDIMM
+          description: >
+              mini Registered DIMM.
+        - name: Mini_UDIMM
+          description: >
+              mini Unbuffered DIMM.
+        - name: SO_RDIMM_72b
+          description: >
+              Small Outline Registered DIMM.
+        - name: SO_UDIMM_72b
+          description: >
+              Small Outline Unbuffered DIMM.
+        - name: SO_DIMM_16b
+          description: >
+              Small Outline DIMM 16 bit.
+        - name: SO_DIMM_32b
+          description: >
+              Small Outline DIMM 32 bit.
+        - name: Die
+          description: >
+              A die within a package.
diff --git a/xyz/openbmc_project/Inventory/Item/Dimm/Partition.interface.yaml b/xyz/openbmc_project/Inventory/Item/Dimm/Partition.interface.yaml
new file mode 100644
index 0000000..45105ac
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Dimm/Partition.interface.yaml
@@ -0,0 +1,25 @@
+description: >
+    Implement to provide memory partition attributes.
+properties:
+    - name: PartitionId
+      type: string
+      description: >
+          Unique region ID representing a specific region within the Memory.
+    - name: SizeKiB
+      type: uint64
+      description: >
+          Size of this memory region in kibibytes (KiB).
+    - name: MemoryClassification
+      type: string
+      description: >
+          Classification of memory occupied by the given memory region.
+    - name: OffsetMiB
+      type: uint64
+      description: >
+          Offset with in the Memory that corresponds to the starting of this
+          memory region in MiB.
+    - name: PassphraseState
+      type: boolean
+      description: >
+          An indication of whether the state of the passphrase for this region
+          is enabled.
diff --git a/xyz/openbmc_project/Inventory/Item/Dimm/SecurityCapabilities.interface.yaml b/xyz/openbmc_project/Inventory/Item/Dimm/SecurityCapabilities.interface.yaml
new file mode 100644
index 0000000..e99c121
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Dimm/SecurityCapabilities.interface.yaml
@@ -0,0 +1,15 @@
+description: >
+    Implement to provide security capability attributes.
+properties:
+    - name: MaxPassphraseCount
+      type: int32
+      description: >
+          Maximum number of passphrases supported for this Memory.
+    - name: PassphraseCapable
+      type: boolean
+      description: >
+          Memory passphrase set capability.
+    - name: SecurityStates
+      type: array[string]
+      description: >
+          Security states supported by the Memory.
