Checking in some ongoing work for better handling the additional
vendor cells added to the I/O library.
diff --git a/sky130/custom/scripts/gds_import_io.tcl b/sky130/custom/scripts/gds_import_io.tcl
index f0a5ead..f020fd5 100644
--- a/sky130/custom/scripts/gds_import_io.tcl
+++ b/sky130/custom/scripts/gds_import_io.tcl
@@ -17,28 +17,51 @@
 gds flatglob *sky130_fd_io__xor*
 gds flatglob *sky130_fd_io__gpiov2_amx*
 gds flatglob *sky130_fd_io__gpiov2_amux*
+gds flatglob *sky130_fd_io__gpio_ovtv2_amx*
+gds flatglob *sky130_fd_io__gpio_ovtv2_amux*
 
 ### flatten within the isolated VSSIO domain
 gds flatglob *sky130_fd_io__feas_com_pupredrvr*
 gds flatglob *sky130_fd_io__com_pupredrvr_strong_slowv2*
 gds flatglob *sky130_fd_io__com_pdpredrvr_pbiasv2*
 gds flatglob *sky130_fd_io__gpiov2_pdpredrvr_strong*
+gds flatglob *sky130_fd_io__gpio_ovtv2_pdpredrvr_strong*
+gds flatglob *sky130_fd_io__sio_pdpredrvr_strong*
 
 ### flatten in opathv2
 gds flatglob *sky130_fd_io__com_pudrvr_strong_slowv2*
 gds flatglob *sky130_fd_io__com_pdpredrvr_strong_slowv2*
 gds flatglob *sky130_fd_io__gpiov2_obpredrvr*
+gds flatglob *sky130_fd_io__gpio_ovtv2_obpredrvr*
+gds flatglob *sky130_fd_io__gpio_ovtv2_hotswap*
+gds flatglob *sky130_fd_io__sio_obpredrvr*
 gds flatglob *sky130_fd_io__hvsbt_*
 
 ### flatten in ipath
 gds flatglob *sky130_fd_io__gpiov2_ictl_logic*
+gds flatglob *sky130_fd_io__gpio_ovtv2_ictl_logic*
 
 ### avoid splitting a netlist that passes in contorted ways through the
 ### layout hierarchy
 gds flatglob *sky130_fd_io__gpio_pddrvr_strong_slowv2*
 gds flatglob *sky130_fd_io__gpiov2_pddrvr_strong*
+gds flatglob *sky130_fd_io__gpio_ovtv2_pddrvr_strong*
+gds flatglob *sky130_fd_io__sio_pddrvr_strong*
 
 ### flatten ESD devices in SIO.  Note:  HVI covering the entire device
 ### in nhvnative cell would avoid this issue.
 gds flatglob *reg_pu_nhvnative*
 gds flatglob *pu_natives*
+
+### flatten parts of pwrdetv2, where there are devices in deep nwell
+### that are in sibling cells, and resistors separated from HVI
+gds flatglob *top_pwrdetv2_res*
+gds flatglob *pwrdet_vddd*
+gds flatglob *pwrdet_vddio*
+
+### flatten parts of amuxsplitv2, where there are subcells that are
+### spread across areas inside and outside of dnwell
+gds flatglob *switch_levelshifter*
+gds flatglob *amuxsplitv2_switch_*
+gds flatglob *amuxsplitv2_hvsbt_nand*
+gds flatglob *amuxsplitv2_delay*
diff --git a/sky130/magic/sky130gds.tech b/sky130/magic/sky130gds.tech
index 1f3c43e..11e66a4 100644
--- a/sky130/magic/sky130gds.tech
+++ b/sky130/magic/sky130gds.tech
@@ -54,6 +54,7 @@
  p41
  p42
  p43
+ p44
 end
 
 types
@@ -128,6 +129,7 @@
  p41 CP1MADD,l68
  p42 BOUND,l69
  p43 RERAM,l71
+ p44 ESDID,l72
 end
 
 contact
@@ -206,6 +208,7 @@
  l69   subcircuit
  l70   polysilicon
  l71   electrode_stripes
+ l72   cwell
  error_p	error_waffle
  error_s	error_waffle
  error_ps	error_waffle
@@ -515,6 +518,10 @@
  layer BOUND BOUND
  labels BOUND
  calma 235 4
+
+ layer ESDID ESDID
+ labels ESDID
+ calma 81 19
 end
 
 cifinput
@@ -591,6 +598,7 @@
  layer l69 BOUND
  layer l70 POLYT
  layer l71 RERAM
+ layer l72 ESDID
  calma NWELL  64 20
  calma DNWELL 64 18
  calma DIFF   65 20
@@ -662,6 +670,7 @@
  calma BOUND  235 4
  calma POLYT  66 16
  calma RERAM 201 20
+ calma ESDID 81 19
 end
  
 mzrouter
@@ -760,4 +769,5 @@
  planeorder p41 40
  planeorder p42 41
  planeorder p43 42
+ planeorder p44 43
 end