Refactor the gb200 logic to be separate

Refactors the gb200 logic to be in its own file, and folder.
This way we can specify folder level owners more easily and separate
concerns for different companies using this repo. Also keeps
platform.cpp relatively clean

Tested:
Flashed onto a gb200, log output was clean
```
USB_HUB_RESET_L-O Request to set to 0
USB_HUB_RESET_L-O Set to 0
HMC present in platformSleeping for 100 milliseconds
SGPIO_BMC_EN-O Request to set to 1
SGPIO_BMC_EN-O Set to 1
HMC_BMC_DETECT-O Request to set to 0
HMC_BMC_DETECT-O Set to 0
BMC_EROT_FPGA_SPI_MUX_SEL-O Request to set to 1
BMC_EROT_FPGA_SPI_MUX_SEL-O Set to 1
BMC_12V_CTRL-O Request to set to 1
BMC_12V_CTRL-O Set to 1
PWR_BRAKE_L-O Request to set to 1
PWR_BRAKE_L-O Set to 1
SHDN_REQ_L-O Request to set to 1
SHDN_REQ_L-O Set to 1
SHDN_FORCE_L-O Request to set to 1
SHDN_FORCE_L-O Set to 1
SYS_RST_IN_L-O Request to set to 0
SYS_RST_IN_L-O Set to 0
FPGA_READY_BMC-I GpioEvent is already 1
SEC_FPGA_READY_BMC-I GpioEvent is already 1
EROT_FPGA_RST_L-O Request to set to 1
EROT_FPGA_RST_L-O Set to 1
SEC_EROT_FPGA_RST_L-O Request to set to 1
SEC_EROT_FPGA_RST_L-O Set to 1
Sleeping for 100 milliseconds
FPGA_RST_L-O Request to set to 1
FPGA_RST_L-O Set to 1
FPGA_READY_BMC-I  Waiting to go to assert
FPGA_READY_BMC-I Timeout
FPGA_READY_BMC-I failed to assert
SEC_FPGA_READY_BMC-I  Waiting to go to assert
SEC_FPGA_READY_BMC-I Timeout
SEC_FPGA_READY_BMC-I failed to assert
1e78a100 unbound
1e78a100 bound
1e78a180 unbound
1e78a180 bound
RUN_POWER_EN-O Request to set to 1
RUN_POWER_EN-O Set to 1
SYS_RST_IN_L-O Request to set to 1
SYS_RST_IN_L-O Settingto 1
GLOBAL_WP_BMC-O Request to set to 0
GLOBAL_WP_BMC-O Set to 0
BMC_READY-O Request to set to 1
BMC_READY-O Set to 1
USB_HUB_RESET_L-O Request to set to 1
USB_HUB_RESET_L-O Settingto 1
Platform init complete
```

Change-Id: I73eb9cad30707841a7a9dfab76c593bfd26d9257
Signed-off-by: Marc Olberding <molberding@nvidia.com>
diff --git a/meson.build b/meson.build
index 837e289..722019f 100644
--- a/meson.build
+++ b/meson.build
@@ -12,11 +12,14 @@
 
 cli11_dep = dependency('CLI11', required: true, include_type: 'system')
 
+platform_srcs = files('nvidia/gb200.cpp')
+util_srcs = files('gpio.cpp', 'i2c.cpp', 'utilities.cpp')
+
 exe = executable(
     'platform',
-    ['platform.cpp', 'i2c.cpp', 'gpio.cpp', 'utilities.cpp'],
+    ['platform.cpp'] + platform_srcs + util_srcs,
     dependencies: [gpiodcxx_dep, libsystemd_dep, cli11_dep],
-    include_directories: ['.'],
+    include_directories: ['.', 'nvidia'],
     install: true,
     install_dir: get_option('libexecdir'),
 )
@@ -31,5 +34,3 @@
         {'PLATFORM_NAME': get_option('platform-name')},
     ),
 )
-
-