Problem solved. by Waveshare. Output pin must be initialised after SPI initialization.
"def init(self):
self.reset_pin = Pin(RST_PIN, Pin.OUT)
#------remove dc init line from here to below spi init-----
self.busy_pin = Pin(BUSY_PIN, Pin.IN, Pin.PULL_UP)
self.cs_pin = Pin(CS_PIN, Pin.OUT)
self.width = EPD_WIDTH
self.height = EPD_HEIGHT
self.full_lut = lut_full_update
self.partial_lut = lut_partial_update
self.full_update = FULL_UPDATE
self.part_update = PART_UPDATE
self.spi = SPI(1)
self.spi.init(baudrate=4000_000)
self.dc_pin = Pin(DC_PIN, Pin.OUT)"