the easiest and quickest way to do it would be to set up an electrum wallet (standard wallet > create a new seed > legacy) which you can use to receive from non-segwit wallets. from there, you can send the coins to your native segwit hardware wallet.
Better than legacy is to use P2SH which are compatible segwit addresses, like a transitional address.
They offer lower fees and are compatible with all old software.
They start with 3.
I have question about this, once you just created a bitcoin wallet, either it's legacy or P2SH or even bech32. You can still able to receive or create a receiving address any of those address types?
Because I noticed in my trezor wallet, when I tried to use it with mycelium wallet, you can select any address type you want, either legacy address/P2SH address or bech32 address.