@@ -372,6 +372,10 @@ def _init_api(self):
372372
373373 # List all pads and put them in an enum.
374374 self .pad_enum = self ._enum_type (Name ([]), self .DT_PAD_NAME )
375+ self .pad_enum .add_constant (Name .from_snake_case ("constant_zero" ),
376+ "Pad that is constantly tied to zero (input)" )
377+ self .pad_enum .add_constant (Name .from_snake_case ("constant_one" ),
378+ "Pad that is constantly tied to one (input)" )
375379 self ._pad_map = OrderedDict ()
376380 for pad in pads :
377381 name = pad ['name' ]
@@ -507,8 +511,22 @@ def _init_pads(self):
507511 length = Name (["count" ])
508512 )
509513 self .pad_dt_values = OrderedDict ()
514+ topname = self .top ["name" ]
515+
516+ self .pad_dt_values [Name .from_snake_case ("constant_zero" )] = {
517+ self .DT_PAD_TYPE_FIELD_NAME : Name .from_snake_case ("mio" ),
518+ self .DT_PAD_MIO_OUT_DIO_FIELD_NAME : "0" ,
519+ self .DT_PAD_INSEL_FIELD_NAME :
520+ Name .from_snake_case (f"top_{ topname } _pinmux_insel_constant_zero" ).as_c_enum (),
521+ }
522+ self .pad_dt_values [Name .from_snake_case ("constant_one" )] = {
523+ self .DT_PAD_TYPE_FIELD_NAME : Name .from_snake_case ("mio" ),
524+ self .DT_PAD_MIO_OUT_DIO_FIELD_NAME : "0" ,
525+ self .DT_PAD_INSEL_FIELD_NAME :
526+ Name .from_snake_case (f"top_{ topname } _pinmux_insel_constant_one" ).as_c_enum (),
527+ }
528+
510529 for (padname , pad ) in self ._pad_map .items ():
511- topname = self .top ["name" ]
512530 if pad ["connection" ] == "muxed" :
513531 pad_type = Name .from_snake_case ("mio" )
514532 pad_mio_out_or_direct_pad = "0"
0 commit comments