def METHOD_NAME(self, platform_file):
    scp = TwisterConfigParser(platform_file, self.platform_schema)
    scp.METHOD_NAME()
    data = scp.data
    self.name = data['identifier']
    self.twister = data.get("twister", True)
    # if no RAM size is specified by the board, take a default of 128K
    self.ram = data.get("ram", 128)
    testing = data.get("testing", {})
    self.timeout_multiplier = testing.get("timeout_multiplier", 1.0)
    self.ignore_tags = testing.get("ignore_tags", [])
    self.only_tags = testing.get("only_tags", [])
    self.default = testing.get("default", False)
    self.binaries = testing.get("binaries", [])
    # if no flash size is specified by the board, take a default of 512K
    self.flash = data.get("flash", 512)
    self.supported = set()
    for supp_feature in data.get("supported", []):
        for item in supp_feature.split(":"):
            self.supported.add(item)
    self.arch = data['arch']
    self.type = data.get('type', "na")
    self.simulation = data.get('simulation', "na")
    self.simulation_exec = data.get('simulation_exec')
    self.supported_toolchains = data.get("toolchain", [])
    if self.supported_toolchains is None:
        self.supported_toolchains = []
    support_toolchain_variants = {
      # we don't provide defaults for 'arc' intentionally: some targets can't be built with GNU
      # toolchain ("zephyr", "cross-compile", "xtools" options) and for some targets we haven't
      # provided MWDT compiler / linker options in corresponding SoC file in Zephyr, so these
      # targets can't be built with ARC MWDT toolchain ("arcmwdt" option) by Zephyr build system
      # Instead for 'arc' we rely on 'toolchain' option in board yaml configuration.
      "arm": ["zephyr", "gnuarmemb", "xtools", "armclang", "llvm"],
      "arm64": ["zephyr", "cross-compile"],
      "mips": ["zephyr", "xtools"],
      "nios2": ["zephyr", "xtools"],
      "riscv32": ["zephyr", "cross-compile", "xtools"],
      "riscv64": ["zephyr"],
      "posix": ["host", "llvm"],
      "sparc": ["zephyr", "xtools"],
      "x86": ["zephyr", "xtools", "llvm"],
      # Xtensa is not listed on purpose, since there is no single toolchain
      # that is supported on all board targets for xtensa.
    }
    if self.arch in support_toolchain_variants:
        for toolchain in support_toolchain_variants[self.arch]:
            if toolchain not in self.supported_toolchains:
                self.supported_toolchains.append(toolchain)
    self.env = data.get("env", [])
    self.env_satisfied = True
    for env in self.env:
        if not os.environ.get(env, None):
            self.env_satisfied = False